这相当于一个非常基本的编程问题,但基本上我正在创建一个1和0的数组,我想表示单行的黑色(1)或白色(0)像素。这是我的代码,
private void runSim(){
for(int j = 0; j< iterations; j++){
for(int i = 0; i< rowLength; i++){
newRow[i] = getNewCell(i);
}
oldRow = newRow;
//draw new row
printIteration();
}
}
oldRow是一个int值数组(全0和1),表示我想要添加到位图图像底部的一行像素。理想情况下,有一些方法可以像这样逐行添加像素。如果没有,那么我可以创建这些int值的二维数组,但我仍然不知道如何将它们写成黑白图像像素。任何人都可以帮我解决这个问题,还是让我指出正确的方向?请原谅这个基本问题,并提前感谢您的帮助。
答案 0 :(得分:1)
在我看来,您可以使用ArrayList
个BitSet
类。
http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html
就写入图像而言,请查看java BufferedImage类。
答案 1 :(得分:0)
指针:从扩展JPanel中的VolatileImage的干净平板开始。覆盖其paintComponent()方法,使用Graphics2D在屏幕外绘制图像,并在Graphics对象上绘制()作为参数发送到paintComponent()的结果图像。使用paintOffScreen(Graphics2D)方法中的1-D或2-D像素数组,在需要时更新VolatileImage。希望这会有所帮助, - M.S。