我试图弄清楚如何使用'image.getRgb()' API。为了测试,我只是复制并显示了一个精确的图像,但无法让它与代码一起工作:
int picWidth = (int) image.width();
int picHeight = (int) image.height();
buf = new int[picWidth * picHeight];
image.getRgb(0, 0, picWidth, picHeight, buf, 0, picWidth);
int color = 0;
for(int y=0; y < picHeight; y ++) {
for(int x=0; x < picWidth; x++) {
color = buf[x*y];
layer.surface().setFillColor(color);
layer.surface().fillRect(x,y, 1, 1);
}
}
我期望上面的代码是逐像素复制到缓冲区,然后在表面上显示完全相同的图像。但是,这是我的原始图片和结果图片:
原始图像
结果图片
我想我误解了 getRgb() API,正确的使用方法是什么?谢谢。