目前在下面的代码中,我正在检查每个像素是否白色,如果不是白色,则将其更改为新颜色,不适用于渐变图像。特别是在左右两个角落的阴影。我已附加了图像蓝色输入需要转换为另一张红色图像作为输出。任何建议都会有所帮助。
for (int xx = 0; xx < width; xx++) {
for (int yy = 0; yy < height; yy++) {
int clr = image.getRGB(xx, yy);
int R = (clr & 0x00ff0000) >> 16;
int G = (clr & 0x0000ff00) >> 8;
int B = clr & 0x000000ff;
double Y = 0.2126 * R + 0.7152 * G + 0.0722 * B;
boolean isWhite = Y > 128 ? true : false;
if (!isWhite) {
int[] pixels = raster.getPixel(xx, yy, (int[]) null);
pixels[0] = Integer.valueOf(hexColor.substring(1, 3), 16);
pixels[1] = Integer.valueOf(hexColor.substring(3, 5), 16);
pixels[2] = Integer.valueOf(hexColor.substring(5, 7), 16);
raster.setPixel(xx, yy, pixels);
}
}
}