如何读取PNG文件中的像素?

11 java image-capture pixel awtrobot fest

我知道如何使用Robot,Windowtester或FEST捕获屏幕截图.我也知道如何使用机器人从屏幕上读取像素.

int x = 10;
int y = 10; 
Color px = getPixelColor(int x, int y);
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何从已捕获的图像中读取像素.我打算将当前图像与文件中的图像进行比较.可以说两者都是PNG.是否有任何框架可用于逐像素地比较图像?

hug*_*hes 18

这是用Java吗?如果是这样,你可以ImageIO.read( "yourImage.png" )用来获得一个BufferedImage.这将有一个getData()方法,它将为您提供一个Raster可以调用的对象getPixel.见链接

  • 你可以在`BufferedImage`上调用`getRGB(x,y)`. (3认同)

Set*_*eth 10

这应该工作:

javax.imageio.ImageIO.read(new File("filename.png"))
Run Code Online (Sandbox Code Playgroud)

然后,您可以遍历像素并逐个像素地与图像进行比较:

java.awt.image.BufferedImage.getRGB(int x, int y).
Run Code Online (Sandbox Code Playgroud)


Nik*_*zov 5

您可以阅读图像文件:读取/加载图像.

然后使用getRGB方法获得颜色.