我使用以下代碼當前轉動的像素值(最初是用java.awt.image.PixelGrabber中對象創建)的陣列爲圖像對象:使用Java的ImageIO將像素數組轉換爲Image對象?
public Image getImageFromArray(int[] pixels, int width, int height) {
MemoryImageSource mis = new MemoryImageSource(width, height, pixels, 0, width);
Toolkit tk = Toolkit.getDefaultToolkit();
return tk.createImage(mis);
}
是否有可能實現相同的結果使用ImageIO包中的類,所以我不必使用AWT Toolkit?
Toolkit.getDefaultToolkit()似乎不是100%可靠的,有時會拋出一個AWTError,而ImageIO類應該始終可用,這就是爲什麼我有興趣改變我的方法。
謝謝bcash,但是當我嘗試這個代碼時,我得到了一個java.lang.ArrayIndexOutOfBoundsException異常。有任何想法嗎? – 2008-09-24 02:53:40
我認爲這很接近,我們可能需要克里斯的更多細節與細節?這看起來應該起作用......你的整數是什麼?他們是RGB? ARGB?某種打包格式? – 2008-09-24 04:37:39
像素來自PixelGrabber,因此: int [] pixels = new int [width * height]; PixelGrabber pg = new PixelGrabber(img,0,0,width,height,pixels,0,width); pg.grabPixels(); – 2008-09-24 05:17:13