Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取a';键入3字节BGR';形象?_Java_Image - Fatal编程技术网

Java 如何获取a';键入3字节BGR';形象?

Java 如何获取a';键入3字节BGR';形象?,java,image,Java,Image,我有一个类型为3BYTE\u BGR的图像,我想将其转换为类型为INT\u RGB 虽然我已经搜索过了,但我还没有找到一种方法来做这件事。我想逐像素转换图像。然而,BufferedImage.getRGB(i,j)似乎不起作用 如何在类型为类型为\u 3BYTE\u BGR的图像中获取RGB值?我不确定您所说的“getRGB(I,j)不起作用”是什么意思。getRGB返回压缩整数;你需要解码它 int color = image.getRGB(i,j); int r = (argb)&0

我有一个
类型为3BYTE\u BGR
的图像,我想将其转换为
类型为INT\u RGB

虽然我已经搜索过了,但我还没有找到一种方法来做这件事。我想逐像素转换图像。然而,
BufferedImage.getRGB(i,j)
似乎不起作用


如何在类型为
类型为\u 3BYTE\u BGR
的图像中获取RGB值?

我不确定您所说的“getRGB(I,j)不起作用”是什么意思。getRGB返回压缩整数;你需要解码它

int color = image.getRGB(i,j);
int r = (argb)&0xFF;
int g = (argb>>8)&0xFF;
int b = (argb>>16)&0xFF;
int a = (argb>>24)&0xFF;

请参见

我认为您可以安全地忽略alpha通道,因为TYPE_3BYTE_BGR没有alpha通道。是的,我这样解码,然后设置“setRGB”绘制TYPE_INT_RGB图像,但最后我得到两个不同的图像。您可以按照建议手动执行,但是,只需创建一个类型为_INT_RGB的目标BuffereImage,并将源映像绘制到目标BuffereImage中,就会简单得多。尝试了您的建议。使用“result.getGraphics().drawImage(source,0,0,null);”。结果图像中的像素不会还原。