仅当我更改x和y时,才可以遍历图像坐标

时间:2019-01-27 12:13:31

标签: java loops logic bufferedimage

在Java中遍历我的BufferedImage时,通常会使用如下所示的for循环:

for(int x = 0; x < width; x++) { for(int y = 0; y < height; y++) {

由于某种原因,这不起作用。但是,当使用这样的for循环时:

    for(int x = 0; x < height; x++) {
        for(int y = 0; y < width; y++) {

它就像一种魅力。我仍然像在上一个循环(bufferedImage.getRGB(x,y))中那样使用x和y,即使它们已打开。为什么?!

编辑:我得到这样的宽度和高度:

final int width = bufferedImage.getWidth();
final int height = bufferedImage.getHeight();

第二次编辑:不工作,我的意思是rgb值与实际值不匹配。我的图片仅包含(0,255,0)/(255,0,0)/(0,0,255)之类的值,它告诉我(255、255、255)之类的东西。即使那时它是透明的,我也能得到值。

第3次编辑:对于遇到类似问题的每个人:

-切换x和y实际上没有任何作用(在我的情况下,因为我有12x12的图像)

当图像在该点透明时,会出现

-像(255,255,255)之类的颜色。知道为什么

1 个答案:

答案 0 :(得分:-1)

这里的“ x”的含义是图像中的第x行,而“ y”是图像中的y列,因为您正在操纵像素。因此,x从0变为高度,y从0变为宽度。