所以在 BufferedImage
中,您会收到一个整数,其中表示 RGB 值。到目前为止,我使用以下方法从中获取 RGB 值:
// rgbs is an array of integers, every single integer represents the
// RGB values combined in some way
int r = (int) ((Math.pow(256,3) + rgbs[k]) / 65536);
int g = (int) (((Math.pow(256,3) + rgbs[k]) / 256 ) % 256 );
int b = (int) ((Math.pow(256,3) + rgbs[k]) % 256);
到目前为止,它有效。
我需要做的是弄清楚如何获得一个整数,这样我就可以使用 BufferedImage.setRGB()
,因为这需要它提供的相同类型的数据我。
最佳答案
我认为代码类似于:
int rgb = red;
rgb = (rgb << 8) + green;
rgb = (rgb << 8) + blue;
另外,我相信您可以使用以下方法获取各个值:
int red = (rgb >> 16) & 0xFF;
int green = (rgb >> 8) & 0xFF;
int blue = rgb & 0xFF;
关于java - 将 RGB 值转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801366/