我在使用 java 中的图像类时遇到问题。
我正在使用 DataBuffer.TYPE_DOUBLE 创建缓冲图像。这一切在内存中都运行良好(我认为)。但当我尝试使用 ImageIO.write 编写它时,问题就开始了。
最初我没有遇到任何异常,而只是得到一个空的输出文件来解决我的麻烦..
经过一番研究代码,我发现bmp writer不支持写入type_double类型的文件。
From: BMPImageWriterSpi.canEncodeImage:
if (dataType < DataBuffer.TYPE_BYTE || dataType > DataBuffer.TYPE_INT)
return false;
所以我的问题是,有没有人有办法将此类图像写入磁盘?任何文档或教程或链接都会有帮助。
谢谢, 巴兹尔·杜苏扎
最佳答案
由于 BMP 格式不使用任何浮点表示形式,因此在较高级别上,使用 float 据来表示要写入为 BMP 的图像不太有意义。你真的需要这样做吗?为什么不是整数?
javadoc for DataBuffer.TYPE_DOUBLE
表明它目前不打算使用。
关于java - 在java中使用DataBuffer.TYPE_FLOAT或DataBuffer.TYPE_DOUBLE写出BMP文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2530831/