【问题标题】:Using java combine rgb channel and output channel使用java结合rgb通道和输出通道
【发布时间】:2014-07-11 11:42:15
【问题描述】:

我已经输出了图像的三个通道,但根据颜色似乎不对

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 visualization rgb bufferedimage


    【解决方案1】:

    使用 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);
    }
    

    我基于它结合了它们的构造函数。这有点不同,它们的吸气剂在不同的地方都有括号。

    【讨论】:

      猜你喜欢
      • 2019-09-05
      • 2021-05-12
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      相关资源
      最近更新 更多