Java获取指定坐标点RGB颜色值并进行对比
自动化程序中通过获取不同屏幕坐标的颜色值,判断ui控件是否出现。
Java获取指定屏幕指定坐标点颜色然后分别输入RGB色值并进行颜色对比,最后将RGB颜色转换成HEX格式:
import java.awt.Color;
import java.awt.Robot;
public class GetColor {
public static void main(String[] args) throws Exception{
Robot robot = new Robot();
//获取指定坐标点的颜色RGB值
Color color = robot.getPixelColor(800, 150);
System.out.println(“Red = ” + color.getRed());
System.out.println(“Green = ” + color.getGreen());
System.out.println(“Blue = ” + color.getBlue());
Color myColor = new Color(255,255,255);
//将获取到的颜色和指定颜色对比
System.out.println(myColor.equals(color));
//输出RGB色值转换成的Hex
System.out.println(toHex(color.getRed(), color.getGreen(), color.getBlue()));
}
//以下是将RGB转换为16进制Hex
public static String toHex(int r, int g, int b) {
return “#” + toBrowserHexValue(r) + toBrowserHexValue(g)
+ toBrowserHexValue(b);
}
private static String toBrowserHexValue(int number) {
StringBuilder builder = new StringBuilder(
Integer.toHexString(number & 0xff));
while (builder.length() < 2) {
builder.append(“0”);
}
return builder.toString().toUpperCase();
}
}
输出结果:
Red = 65
Green = 159
Blue = 255
false
#419FFF
发表评论