网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 java实现屏幕取色
范文
    代码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();
    this.p.setBackground(c);
    // try change the foreground when background s r <= 50 or g <= 50 or b <= 50
    Graphics g = p.getGraphics ();
    if (c.getRed() <=50 || c.getGreen() <= 50 || c.getBlue() <= 50) {
    g.setColor(Color.WHITE);
    } else {
    g.setColor(Color.BLACK);
    }
    g.drawString(c.toString(),0,100);
    g = null;
    //System.out.println (c);
    } catch (InterruptedException e) {
    e.printStackTrace();
    System.exit(1);
    }
    }
    }
    }
    /**Get Screen 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;
    }
    }
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 3:17:53