Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改图像图标中的特定颜色_Java - Fatal编程技术网

Java 更改图像图标中的特定颜色

Java 更改图像图标中的特定颜色,java,Java,我正在使用24x24像素图标。我希望能够将此图标中的特定颜色更改为不同的颜色。例如,将白色区域变为红色。您可以使用鼠标来完成此操作。看看Java。我不知道有哪种API方法可以做到这一点。默认情况下,图像不可写。但是,如果您有一个,您可以这样做: public void changeColor(BufferedImage img, Color old, Color new) { final int oldRGB = old.getRGB(); final int newRGB =

我正在使用24x24像素图标。我希望能够将此图标中的特定颜色更改为不同的颜色。例如,将白色区域变为红色。

您可以使用鼠标来完成此操作。看看Java。

我不知道有哪种API方法可以做到这一点。默认情况下,
图像
不可写。但是,如果您有一个,您可以这样做:

public void changeColor(BufferedImage img, Color old, Color new) {
    final int oldRGB = old.getRGB();
    final int newRGB = new.getRGB();
    for (int x = 0; x < img.getWidth(); x++) {
        for (int y = 0; y < img.getHeight(); y++) {
            if (img.getRGB(x, y) == oldRGB)
                img.setRGB(x, y, newRGB);
        }
    }
}
public void changeColor(buffereImage img、旧颜色、新颜色){
final int oldRGB=old.getRGB();
final int newRGB=new.getRGB();
对于(int x=0;x
这不是最有效的方法(可以将RGB数据提取到阵列中,而不是一次提取一个像素),但对于24x24图像来说,这应该不是问题