我希望能够在Java中按像素操作图像,所以我已经设置了一个一维列表并将颜色存储其中。然后将其转换为缓冲图像,但是像素都是错误的。
因此,我将其简化为以下绝对基础部分。在我的想法中,这应该给出左半部分为蓝色和右半部分为黑色的正方形。但实际上,它给出了蓝色和黑色交替的对角线条纹。有什么解决方法吗?
因此,我将其简化为以下绝对基础部分。在我的想法中,这应该给出左半部分为蓝色和右半部分为黑色的正方形。但实际上,它给出了蓝色和黑色交替的对角线条纹。有什么解决方法吗?
private void create(){
int w = 100;
int h = 100;
int blue;
int[] pix = new int[w * h];
int index = 0;
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++) {
if (x<50) {blue = 255;}
else blue=0;
pix[index++] = blue;
}
}
image = new BufferedImage(100,100, BufferedImage.TYPE_INT_RGB);
image.setRGB(0, 0, 100, 100, pix, 0, 1);