使用这些类:
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值。可能还有颜色的名称
答案 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。