如何解决int a = bufferedImageSource.getRGB(x,y) 的值是多少?
我有点困惑究竟什么值将存储在变量 a 中。请有人用例子解释我
提前致谢。
解决方法
正如 BufferedImage.getRGB() 文档所说:
返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素。如果此默认模型与图像 ColorModel 不匹配,则会发生颜色转换。使用这种方法返回的数据中每个颜色分量只有8位精度。
要将这个整数划分为 R、G、B 值,您可以使用按位运算:
BufferedImage bufferedImage = new BufferedImage(10,10,10);
int a = bufferedImage.getRGB(0,0);
int red = (a >> 16) & 255;
int green = (a >> 8) & 255;
int blue = (a) & 255;
System.out.println(a + " r:" + red + ",g:" + green + ",b:" + blue);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。