【发布时间】:2021-02-11 22:51:28
【问题描述】:
我正在开发一个 Java 项目,该项目涉及快速抓取屏幕上各个像素的颜色。我最初在以下代码中使用 AWT 机器人来完成此任务:
Robot robot = new Robot();
int redVal = 0;
for (int i = 0; i < 255; i++)
redVal += robot.getPixelColor(x[i], y[i]).getRed();
其中 x[],y[],代表我想要获取颜色值的各个位置。在相对较快的 CPU 上,轮询 255 个位置需要 1.5 秒以上,对于我的应用程序来说太慢了。有没有更快的方法在 Java 中获取屏幕上特定像素的颜色,可能是通过屏幕捕获然后进行后期处理?
【问题讨论】:
-
为什么这个问题用 C++ 标记?
-
您是否从“桌面”上的“随机”位置选择颜色(例如:其他应用程序)?
标签: java image image-processing