1

我有一個BufferedImage對象,我已經模擬它的像素(數值)。現在我怎樣才能將它保存到一個文件 - 更好的JPEG文件 - 沒有任何像素值的變化?無損和相同的方式 - 緩衝圖像到文件

+0

沒有任何進一步的改變,或逆轉你所做的改變? – eggyal 2011-05-05 16:27:56

+0

沒有任何改變。 – ehsun7b 2011-05-05 16:29:33

+3

JPEG不是無損的,所以你需要使用不同的格式(如果它有很多顏色,可能會有一個巨大的文件),或者只是忍受JPEG對圖像的微小變化。 – 2011-05-05 16:34:22

回答

2

嘗試並使用ImageIO.write(image, "some lessless format", new FileOutputStream(...));

+0

我需要輸出爲8位灰度JPEG!我認爲ImageIO在JPEG上效果不佳! – ehsun7b 2011-05-05 16:41:02

+0

爲什麼ImageIO不能很好地處理JPEG?確實,有時CMYK編碼的JPEG會出現問題,但是如果您跳過ImageIO類並使用略微更低級別的API,則可以輕鬆解決這個問題。如果您使用RGB或灰度圖像,則不應應用CMYK問題。如果您需要特別的東西,您還可以查看[Java Advanced Imaging API](http://java.sun.com/javase/technologies/desktop/media/jai/) – Thomas 2011-05-05 20:04:37