我有一些非常简单的代码不起作用:
int[] manualPixels = new int[width * height * 3];
for (int index = 0; index < manualPixels.length; index++) {
if (index % 3 == 2) {
manualPixels[index] = 255;
}
}
BufferedImage pixelImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
pixelImage.setRGB(0, 0, width, height, manualPixels, 0, width);
ImageIO.write(pixelImage, "jpeg", tempFile);
据我所知,这应该输出红色、绿色或蓝色图像,具体取决于循环中的if
语句中使用的是 0、1 还是 2。for
问题是,无论我设置哪个像素,我总是得到蓝色和黑色条纹。例如:
我确定我在这里做错了一些基本的事情,我只是没有看到它是什么。有任何想法吗?