gpt4 book ai didi

java - Graphics2D setColor 的奇怪颜色行为

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:04 24 4
gpt4 key购买 nike

我正在拍摄一张图像并在其上绘制一个矩形,但问题是,对于某些图像,矩形颜色很好,但对于其他图像,颜色会发生变化。我该如何解决这种行为

这是我的代码

public class Index {
static int[][] coordenadas = new int[1][4];
public static void main(String[] args) throws IOException {

coordenadas[0][0]=530;
coordenadas[0][1]=237;
coordenadas[0][2]=86;
coordenadas[0][3]=17;
//File file = new File("C:\\Users\\Juan\\Desktop\\2.jpg");
File file = new File("C:\\Users\\Juan\\Desktop\\1.jpg");
paint(file);
}

public static void paint(File file) throws IOException{
BufferedImage img = ImageIO.read(file);
Graphics2D g = img.createGraphics();
g.setColor(Color.yellow);
//g.drawRect(coordenadas[0][0], coordenadas[0][2], coordenadas[0][2], coordenadas[0][3]);
g.fillRect(coordenadas[0][0], coordenadas[0][3], coordenadas[0][2], coordenadas[0][3]);



g.dispose();

ImageIO.write(img,"jpg", new File("C:\\Users\\Juan\\Desktop\\outcome.jpg"));
}
}

这是两个不同输出的示例

输出错误

Worng output

右输出

Rigth output

这些是原始图像的链接

http://imageshack.com/a/img661/1940/bqwmPL.jpg

http://imageshack.com/a/img903/1447/vDwVtf.jpg

预先感谢您的时间和解答

最佳答案

根据@mrKobel的建议,我改变了加载图像的方式,从文件到ImageIcon,一切正常。这是新代码。

public class Index {

static int[][] coordenadas = new int[1][4];
static BufferedImage bi ;
public static void main(String[] args) throws IOException {

coordenadas[0][0]=530;
coordenadas[0][1]=237;
coordenadas[0][2]=86;
coordenadas[0][3]=17;
ImageIcon img = new ImageIcon("C:\\Users\\Juan\\Desktop\\2.jpg");
BufferedImage image = new BufferedImage(img.getIconWidth(), img.getIconHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = (Graphics2D)image.getGraphics();
img.paintIcon(null, g2d, 0, 0);
Color color = new Color(255,255,0,100);
g2d.setColor(color);
g2d.fillRect(coordenadas[0][0], coordenadas[0][1], coordenadas[0][2], coordenadas[0][3]);
ImageIO.write( image,"jpg", new File("C:\\Users\\Juan\\Desktop\\outcome.jpg"));


}


}

关于java - Graphics2D setColor 的奇怪颜色行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27293517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com