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

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注