龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

java实现屏幕取色[组图]

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
文本要害字:程序设计/Java/入门 声明: 本文核心代码选择自langzi84的blog请看以下链接 http://dev.csdn.net/article/44/article/44/44529.shtm http://blog.csdn.net/langzi84/archive/2004/10/21/146331.ASPx !-- frame co

  文本要害字:程序设计/Java/入门

  声明:
  本文核心代码选择自langzi84的blog请看以下链接
  http://dev.csdn.net/article/44/article/44/44529.shtm
  http://blog.csdn.net/langzi84/archive/2004/10/21/146331.ASPx

<!-- frame contents -->
<!-- /frame contents -->
  

  代码1。在屏幕上输出当前鼠标所在的屏幕颜色。
  import java.awt.*;

  public class PickColor {
  public static void main(String[] args) {
  PickColor pc = new PickColor();
  Color color = pc.pickColor();
  System.out.println("color = "+color);
  }

  public Color pickColor() {
  Color pixel = new Color(0,0,0);
  Robot robot = null;
  Point mousepoint;
  int R,G,B;
  // MouseInfo mouseinfo = new MouseInfo();
  try {
  robot = new Robot();
  } catch (AWTException e) {
  e.printStackTrace();
  System.exit(1);
  }
  mousepoint = MouseInfo.getPointerInfo().getLocation();
  pixel = robot.getPixelColor(mousepoint.x,mousepoint.y);
  R = pixel.getRed();
  G = pixel.getGreen();
  return pixel;
  }

  }

  代码2。使用一个GUI,输出当前鼠标所在的屏幕颜色,并改变GUI的背景色。
  // create by kin 2004/10/24 refer to http://dev.csdn.net/article/44/44529.shtm

  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax.swing.event.*;

  public class PickColor2 extends JFrame {
  public static void main(String[] args) {
  PickColor2 pc = new PickColor2();
  //Color color = pc.pickColor();
  //System.out.println("color = "+color);
  }

  public PickColor2 () {
  super("Pick Color");
  setSize(200,200);
  JPanel p =new JPanel();
  getContentPane().add(p);
  // this mouse listener only is limited in the java desktop region
  p.addMouseMotionListener(new PickColorMouesMotionListener(p));
  // this thread is really effected!
  new PickColorThread(p).start();
  setVisible(true);
  }

  /**Mouse Motion Listener,when mouse are moving, then set corresping screens color to the JPanels background Color. */
  class PickColorMouesMotionListener extends MouseMotionAdapter {
  private JPanel p = null;
  PickColorMouesMotionListener(JPanel p) {
  this.p = p;
  }
  public void mouseMoved(MouseEvent e) {
  Color c = pickColor();
  this.p.setBackground(c);
  //System.out.println (c);
  }
  }

  class PickColorThread extends Thread {
  private JPanel p = null;
  PickColorThread(JPanel p){
  this.p=p;
  }
  public void run () {
  while (true) {
  try {
  Thread.currentThread().sleep(10);
  Color c = pickColor();

  
  

精彩图集

赞助商链接