0

我正在编写一个程序,需要我从屏幕上抓取数据,我通过遍历屏幕中的每个像素并保存颜色来做到这一点,但这是一个非常昂贵的操作并且需要时间

以下代码是我用来抓取数据的代码

try
{
     Robot r = new Robot();
     for( int a = 0; a < height; a++ )
     {
          for ( int b = 0; b < width; b++ )
          {
               Color p = r.getPixelColor(a, b);
               int red = p.getRed();
               int blue = p.getBlue();
               int green = p.getGreen();

               screen[a][b][0] = red;
               screen[a][b][1] = blue;
               screen[a][b][2] = green;
           }
      }
}
catch( AWTException e ) {}

有什么办法可以改进这一点,或者有什么替代方法可以使用这个类或方法

4

1 回答 1

1

用于在单个方法调用中Robot.createScreenCapture()创建一个特定区域。BufferedImage

如果出于安全原因这不起作用,您的第二个选择是修改源以使其呈现 UI,BufferedImage然后您可以克隆以分析它(或者如果您可以阻止对其进行更改,则直接分析它)。

于 2012-03-31T10:25:37.857 回答