我正在开发一个(非常)简单的Android应用程序,它在屏幕上绘制Mandelbrot设置,并允许用户放大该组的指定区域。到目前为止,我所做的显示集合的方法是在两个嵌套for循环的帮助下计算屏幕每个像素的颜色(在适当的坐标转换下):
int mandelPixels[] = new int[ canvas.width() * canvas.height() ];
index = 0;
for(int i = 0; i <= canvas.getHeight(); i++){
for(int j = 0; j <= canvas.getWidth(); j++){
// *** do the calculations to decide color of the pixel in question ***
mandelPixels[index] = some color;
index++;
}
}
正如你所看到的,我正在使用索引变量作为连续填充mandelPixels数组的方法(它保存了图中每个Pixel的颜色int)。这里隐含的假设是,当使用
时 bc = Bitmap.Config.ARGB_8888
Bitmap.createBitmap(mandelPixels, canvas.getWidth(), canvas.getHeight(), bc);
将从数组逐行创建位图,即颜色int的索引[0]到索引[canvas.getWidth()]构成第一行,依此类推。< / p>
这实际上有效。但是,我有点疑惑为什么在android文档中永远不会提到这一点。这是从头开始组装位图的常用方法吗?