当前位置:  技术问答>java相关

怎样获得当前mouse坐标处的颜色??

    来源: 互联网  发布时间:2015-01-10

    本文导语:  | //程序有误,更正如下。 import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*;  public class GetRectPixel { public GetRectPixel() { ImageHolder holder = new ImageHolder(); JFrame frame = new JFrame(); JPanel pane...


|
//程序有误,更正如下。
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.swing.*; 

public class GetRectPixel {

public GetRectPixel() {
ImageHolder holder = new ImageHolder();
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.add(holder);
frame.getContentPane().add(panel);
frame.setSize(400,400);
frame.setVisible(true);
}

public static void main(String[] args) { 
GetPixel getpixel = new GetPixel(); 
}
}

class ImageHolder extends Canvas{
BufferedImage bi ;
Image image; 
MediaTracker mt ;
int imageWidth;
int imageHeight;

public ImageHolder() {
mt =new MediaTracker(this); 
try{
image = Toolkit.getDefaultToolkit().createImage("gigi3.jpg");
mt.addImage(image,0);
mt.waitForAll();
imageWidth =  image.getWidth(this);
imageHeight = image.getHeight(this);
}
catch(Exception e){}
bi = new BufferedImage(imageWidth,imageHeight,BufferedImage.TYPE_INT_RGB);
addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent me){
int mouseX = (int)me.getPoint().getX();
int mouseY =(int) me.getPoint().getY();
getPixel(mouseX,mouseY);
}
});

setSize(imageWidth,imageHeight);
}

public void paint(Graphics g){
int xCenter = (getSize().width / 2) - (imageWidth / 2);
int yCenter = (getSize().height / 2) - (imageHeight / 2);
g.drawImage(image, xCenter, yCenter, imageWidth, imageHeight, this);
}

public void getPixel(int x,int y){
  ColorModel cm = this.getColorModel();
  int rgb = cm.getRGB(x*y);
  int red = (rgb>>24)&0xff ;
  int green = (rgb>>16)&0xff ;
  int blue = (rgb>>8)&0xff ;
  System.out.println( "("+red+","+green+ ","+blue+ ")");
 }

|
用BufferedImage就可以了,如:
import java.awt.color.*;
....
BufferedImage bi = new BufferedImage(400,300,ColorSpace.TYPE_RGB);
//画图
Graphics g = bi.getGraphics();
g.drawString(...);
//取得象素
Color color = new Color(bi.getRGB(int x, int y)); 
再作判断就好了,你试试。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用sysconf(_SC_CLK_TCK)可以获得时钟的hz,还有什么方法可以获得内核时钟的hz
  • gtk的获得属性的问题!急!
  • 调用DOM对象的focus使文本框获得焦点
  • 获得客户端的显示分辨率
  • 怎样一个一个的获得指定目录下的文件名.
  • linux下什么语言获得参数是~1
  • .net/c#/asp.net iis7站长之家
  • jQuery获得内容和属性示例代码
  • jQuery获得内容与属性方法
  • mysql获得60天前unix时间思路及代码
  • 用javamail怎么获得邮件内容?
  • 如何获得上一组件的的位置信息?
  • 请问怎样获得当前所在目录和清屏?
  • 在JavaBean或Servlet如何获得URL地址?
  • 如何获得系统支持字体?
  • 按钮如何获得焦点并按回车触发?
  • 如何在UNIX下获得MAC地址?
  • 如何获得刚插入数据的id递增值
  • 如何获得iptables的输出信息??????有挑战性阿!!!
  • 我的redhat 可以自动获得Ip地址 却无法浏览网页 !


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3