为什么image.getrgb(x,y)在某些点返回白色?

rvpgvaaj  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(154)

我正在用SwingJava做一个学校项目。我正试着用它来画图像 drawRect(x,y,width,height) 方法(稍后我将对像素进行更改,这就是为什么我需要逐个绘制像素)。所以,我写了这个代码:

private void drawImage(Graphics graphics) {

    int width = image.getWidth();
    int height = image.getHeight();

    for (int w = 0; w < width; w++) {
        for (int h = 0; h < height; h++) {
            int color = image.getRGB(w, h);             
            graphics.setColor(new Color(color));
            graphics.drawRect(w, h, 1, 1);
        }
    }
}

结果如下:

如您所见,有些像素是用白色绘制的。但是当我使用这个代码时,

graphics.drawImage(image, 0, 0, this);

图像按原样绘制:

为什么? image.getRGB(x,y) 在某些点返回白色?我错过了什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题