2010-03-30 37 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

相關問題