Java BuffereImage可以写入任何格式的文件吗?

Java BuffereImage可以写入任何格式的文件吗?,java,png,jpeg,bufferedimage,Java,Png,Jpeg,Bufferedimage,如果我们在java中有一个BuffereImage对象,我们可以使用ImageIO.write以任何格式将其写出(如果我们有相同的Writer对象),这是正确的吗?我尝试将BuffereImage对象写入jpg文件,它输出了一个空图像文件,但当我尝试将其写入png文件时,效果很好。BuffereImage可以写入ImageIO.write支持的任何格式(即,有ImageWriter可用),是的。如果无法使用,请显示代码。嘿,我想我已经诊断出问题了。对于我的图像,图像类型为“U USHORT_GR

如果我们在java中有一个BuffereImage对象,我们可以使用ImageIO.write以任何格式将其写出(如果我们有相同的Writer对象),这是正确的吗?我尝试将BuffereImage对象写入jpg文件,它输出了一个空图像文件,但当我尝试将其写入png文件时,效果很好。

BuffereImage可以写入ImageIO.write支持的任何格式(即,有ImageWriter可用),是的。如果无法使用,请显示代码。

嘿,我想我已经诊断出问题了。对于我的图像,图像类型为“U USHORT_GRAY”,每个样本使用16位来表示数据。我不认为jpeg支持每个样本16位,它只支持8位(因为每个样本8位的图像都以jpg格式正确写入磁盘)。我读到PNG和TIFF支持每个样本16位,所以当我将它们写成PNG(或TIFF)时,它们似乎工作得很好。这可能是一个合理的理由吗?同样,我也不太确定为什么要写入空文件并且没有抛出异常?我认为ImageWriter应该进行任何必要的转换。但话说回来,我可能错了!但是,如果您需要进一步的帮助,请发布代码。@JoonasPulakka到WMF/EMF中如何?@SelcukBozdag我不知道。试试看。