请问JAVA如何取出一副图每个像素的颜色,然后在去改变颜色,然后再写入到图片?请指教!!!!
[b]问题补充:[/b]
谢谢你的回答,我是指具体在程序中如何操作
[code="java"]
/** * 从图像中取出每个点的像素值,放到一个数组中 * * @param buffer 存放像素值的数组 */ private void pixelGrabber(int buffer[])
{
try { MediaTracker tracker = new MediaTracke(this);
tracker.addImage(img, 0); tracker.waitForAll();
PixelGrabber grabber = new PixelGrabber(img, 0, 0, imgWidth, imgHeight, buffer, 0, imgWidth);
try {
grabber.grabPixels();
} catch (InterruptedException e) {
e.printStackTrace(); }
} catch (Exception e) { e.printStackTrace(); } }
[/code]
用Sun的那套工具的话,可以试试JAI(Java Advanced Imaging),在[url]https://jai.dev.java.net/[/url]。里面有合适的API能够读取和改变图片中每个像素的信息,还有很多能直接使用的效果和格式转换之类的功能……
/** * 从图像中取出每个点的像素值,放到一个数组中 * * @param buffer 存放像素值的数组 */ private void pixelGrabber(int buffer[]) { try { MediaTracker tracker = new MediaTracker(this); tracker.addImage(img, 0); tracker.waitForAll(); PixelGrabber grabber = new PixelGrabber(img, 0, 0, imgWidth, imgHeight, buffer, 0, imgWidth); try { grabber.grabPixels(); } catch (InterruptedException e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } }