我已经输出了三个图像通道,但根据颜色显得不对
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;
}
}
我换错了吗?我能做什么?
答案 0 :(得分:0)
使用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);
}
我的基础是结合他们的构造函数。它有点不同,他们在不同的地方为他们的吸气者括号。