鼠标光标下的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;
如何让程序在我将鼠标悬停在屏幕上时读取RGB值,并让JFrame显示颜色本身。RGB值。可能还有颜色的名称
解决方案
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
,因此可以提取像素的红、绿、蓝三个值。我已将图形用户界面添加给您。
相关文章