使用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