使用java组合rgb通道和输出通道
我已经输出了三个通道的图像,但似乎错误的颜色使用java组合rgb通道和输出通道,java,visualization,rgb,bufferedimage,Java,Visualization,Rgb,Bufferedimage,我已经输出了三个通道的图像,但似乎错误的颜色 public class RGB { public static int getR(int pixel) { return(pixel >> 16 & 0xff); } public static int getG(int pixel) { return (pixel >> 8 & 0xff); } public static int getB(
public class RGB {
public static int getR(int pixel) {
return(pixel >> 16 & 0xff);
}
public static int getG(int pixel) {
return (pixel >> 8 & 0xff);
}
public static int getB(int pixel) {
return (pixel & 0xff);
}
public static int combine(int r, int g, int b) {
int rgb = (r << 16) | (g << 8) | b;
return rgb;
}
}
我换错位置了吗?我能做什么 使用java.awt.Color类作为参考,它们改变了一些事情:
public int getRed(int pixel) {
return (pixel >> 16) & 0xFF;
}
public int getGreen(int pixel) {
return (pixel >> 8) & 0xFF;
}
public int getBlue(int pixel) {
return (pixel >> 0) & 0xFF;
}
public static combine(int r, int g, int b) {
return combine(r, g, b, 255);
}
public static combine(int r, int g, int b, int a) {
return ((a & 0xFF) << 24) |
((r & 0xFF) << 16) |
((g & 0xFF) << 8) |
((b & 0xFF) << 0);
}
我基于他们的构造器。这有点不同,它们在不同的地方有括号来表示它们的getter