※ 引述《e89515058 (小威)》之銘言:
: 小弟用的語法是java applet
: 最近遇到了一個小問題~~
: 就是我把一張圖的像素讀取到陣列裡面
: 陣列的值做過處理(灰階化)
: 想要把做過處理的陣列還原成圖檔。
: 目前我已經把處理過的像素存進陣列裡面
: 但是不曉得怎麼再還原成圖檔。
: 關於這方面的函式有請各位大大們指教!!
網路上沒找到適合的教學 @@
只好拿自己寫的 code 了
// 讀 image
BufferedImage src = ImageIO.read(srcFile);
byte[] srcData = ((DataBufferByte)src.getRaster().getDataBuffer()).getData();
/*
上面這行可以把 image 轉成陣列,
而且如果對陣列做了修改,image 也會立刻反應。
(這句說得不太正確,但我不知道該怎麼表達真正的行為)
另外,請根據 Image 的型態決定 DataBuffer 的型態,此例是 Byte。
*/
// 在此處做轉灰階的動作
// 最後就是將 image 寫回檔案:
ImageIO.write(src, "png", new File("gray.png"));
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.160.117
> -------------------------------------------------------------------------- <
作者: qrtt1 (null) 看板: java
標題: Re: [問題] 存有像素的陣列如何轉為圖片??
時間: Thu Dec 3 09:33:57 2009
※ 引述《tkcn (小安)》之銘言:
: 網路上沒找到適合的教學 @@
: 只好拿自己寫的 code 了
: // 讀 image
: BufferedImage src = ImageIO.read(srcFile);
: byte[] srcData = ((DataBufferByte)src.getRaster().getDataBuffer()).getData();
: /*
: 上面這行可以把 image 轉成陣列,
: 而且如果對陣列做了修改,image 也會立刻反應。
: (這句說得不太正確,但我不知道該怎麼表達真正的行為)
: 另外,請根據 Image 的型態決定 DataBuffer 的型態,此例是 Byte。
: */
: // 在此處做轉灰階的動作
: // 最後就是將 image 寫回檔案:
: ImageIO.write(src, "png", new File("gray.png"));
剛好弟有瀏覽過 Java Media APIs 這本書
http://tinyurl.com/ygwkaev
書中的有介紹到圖形依不同的 Model 與象素排列的關係
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.165.131