2010-03-30 204 views
0

如果我们在java中有一个BufferedImage对象,我们可以使用ImageIO.write(如果我们有一个相同的Writer对象)以任何格式写出它是否正确?我尝试将一个BufferedImage对象写入一个jpg文件,然后输出一个空的图像文件,但是当我尝试将它写入一个PNG文件时,它工作正常。可以将BufferedImage写入文件的任何格式吗?

回答

1

BufferedImage可以写入ImageIO.write支持的任何格式(也就是说ImageWriter可用),是的。如果你无法启动它,请显示代码。

+0

嘿,我想我诊断了这个问题。对于我的图像,图像类型是TYPE_USHORT_GRAY,它们使用每个样本16位来表示数据。我不认为jpeg支持每个采样16位,它只支持8位(因为每个采样图像的所有8位都正确地写入磁盘)。我读到PNG和TIFF支持每个采样16位,所以当我将它们编写为PNG(或TIFF)时,它似乎工作正常。这可能是一个合理的理由吗?再次,不太确定为什么写空文件,并且不抛出异常? – user304825 2010-03-30 23:10:28

+0

我认为ImageWriter应该做任何需要的转换。但是,再一次,我可能是错的!但如果您需要进一步的帮助,请发布代码。 – 2010-03-31 04:09:32

+0

@JoonasPulakka如何进入WMF/EMF? – 2016-08-04 07:30:03

相关问题