| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:为何不能抓取图像像素
只看楼主 加入收藏
天外星
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2004-11-5
收藏
 问题点数:0 回复次数:0 
为何不能抓取图像像素

//小弟刚刚开始学习JAVA,经常碰到一些不明白的地方,特来向各位大侠请教 //这是教程上的一个例子,运行时显示不出处理过的图片,请问是哪个语句出问题了,谢谢!

import java.awt.*; import java.awt.event.*; import java.awt.image.*;

public class pixelgrabberl extends Frame{ int x,w,h; int[] pixels; Image im,im1;

//2.定义构造器,并添加窗口事件的监听 public pixelgrabberl(){ addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); //3.要构造器中参过MediaTracker装载图像 MediaTracker tracker=new MediaTracker(this); im=Toolkit.getDefaultToolkit().getImage("flower.jpg"); tracker.addImage(im,0); try{ tracker.waitForID(0); }catch(InterruptedException e){e.printStackTrace();} w=im.getWidth(this); h=im.getHeight(this); pixels=new int[w*h]; try{ PixelGrabber pg=new PixelGrabber(im,0,0,w,h,pixels,0,w); pg.grabPixels(); }catch(InterruptedException e){e.printStackTrace();} //4.对RGB值和Alpha值进行重新计算和赋值 ColorModel cm=ColorModel.getRGBdefault(); for(x=0;x<w*h;x++){ int alpha=100; int red=cm.getRed(pixels[x]); int green=cm.getGreen(pixels[x]); int blue=cm.getBlue(pixels[x]); pixels[x]=alpha<<24|red<<16|green<<8|blue; } /*for(int i=0;i<w*h;i++){ int alpha=cm.getAlpha(pixels[i]); int red=255-cm.getRed(pixels[i]); int green=255-cm.getGreen(pixels[i]); int blue=255-cm.getBlue(pixels[i]); pixels[i]=alpha<<24 | red<<16 | green<<8 |blue; }*/ //5.通过MemoryImageSource将数组的像素产生一个图像 ImageProducer ip=new MemoryImageSource(w,h,pixels,0,w); Image im1=createImage(ip); } //6.调用paint方法,分别显示两幅图像 public void paint(Graphics g){ g.drawImage(im,10,20,this); g.drawImage(im1,w+20,h+20,this); }

//7.产生main主方法,设置窗口大小,显示窗口 public static void main(String[] args){ pixelgrabberl f=new pixelgrabberl(); f.setSize(300,200); f.show(); } }

搜索更多相关主题的帖子: 像素 JAVA 图像 awt import 
2004-11-15 11:31
快速回复:为何不能抓取图像像素
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016691 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved