gpt4 book ai didi

java - Java 中用于屏幕颜色分析的类

转载 作者:行者123 更新时间:2023-12-02 09:01:29 26 4
gpt4 key购买 nike

我正在寻找 Java 中的一个类,它使我可以检查例如是否像素 (x,y) 为红色或所选屏幕区域的平均颜色为 X。是否有支持它的类?如果没有,我会尝试自己创建此类类(class)。 Java有支持此类操作的工具吗?

最佳答案

您可以使用Robot类进行简单的计算来检查颜色是否接近您正在寻找的颜色

package test;

import java.awt.Color;
import java.awt.Robot;
import java.awt.AWTException;

public class main {

static final Color RED_COLOR = new Color(255, 0, 0);

private static boolean colorsAreClose(Color color1, Color color2, int threshold) {
int r = (int) color1.getRed() - color2.getRed(), g = (int) color1.getGreen() - color2.getGreen(),
b = (int) color1.getBlue() - color2.getBlue();
return (r * r + g * g + b * b) <= threshold * threshold;
}

public static void main(String[] args) {
Color pixelColor = null;
try {
Robot robot = new Robot();
pixelColor = robot.getPixelColor(500, 500);
System.out.println(String.format("Red %d, Green %d, Blue %d", pixelColor.getRed(), pixelColor.getGreen(),
pixelColor.getBlue()));

} catch (AWTException e) {
e.printStackTrace();
return;
}

boolean isRedPixel = colorsAreClose(pixelColor, RED_COLOR, 50);
System.out.println(isRedPixel ? "Pixel is red" : "Pixel is not red");
}

}

关于java - Java 中用于屏幕颜色分析的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60130310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com