鼠标光标下的RGB值

时间:2013-11-03 20:13:39

标签: java rgb

使用这些类:

import java.awt.AWTException;
import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;
import javax.swing.JFrame;

当我将鼠标悬停在屏幕上并让Jframe显示颜色本身时,如何让我的程序读取鼠标下的rgb值。 rgb值。可能还有颜色的名称

1 个答案:

答案 0 :(得分:2)

package stack;

import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;

public class TheColorInfo {
    static PointerInfo pointer;
    static Point point;
    static Robot robot;

    static Color color;

    public static void main(String[] args) {
        try{
            robot = new Robot();

            while(true){
                pointer = MouseInfo.getPointerInfo();
                point = pointer.getLocation();
                if(point.getX() == 0 && point.getY() == 0){
                    break; // stop the program when you go to (0,0)
                }else{
                    color = robot.getPixelColor((int)point.getX(),(int)point.getY());
                    System.out.println("Color at: " + point.getX() + "," + point.getY() + " is: " + color);
                }
            }
        }catch(Exception e){

        }
    }
}  

上面的SSCCE展示了如何使用Robot类获取屏幕上任何像素的颜色。

由于getPixelColor()的返回类型为java.awt.Color,因此您可以提取像素的红色,绿色和蓝色值。我已经离开了你的GUI。