2

这相当于一个非常基本的编程问题,但基本上我正在创建一个由 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 值的二维数组,但我仍然不知道如何让它们以黑白形式写入图像像素。谁能帮我解决这个问题,或者让我指出正确的方向?请原谅这个基本问题,并提前感谢您的帮助。

4

2 回答 2

1

在我看来,你可以使用一个ArrayListBitSet

http://download.oracle.com/javase/6/docs/api/java/util/BitSet.html

至于写入图像,请查看 java BufferedImage类。

于 2011-01-20T23:56:50.063 回答
0

指针:从扩展的 JPanel 中的 VolatileImage 的干净石板开始。重写它的paintComponent() 方法,使用Graphics2D 将图像绘制到屏幕外,并在Graphics 对象上绘制() 作为参数发送给paintComponent() 的结果图像。在 paintOffScreen(Graphics2D) 方法中使用您的一维或二维像素数组在需要时更新 VolatileImage。希望这会有所帮助,-MS

于 2011-01-21T00:03:01.253 回答