检测node.js上的纯色图像

Iam使用phantomjs进行屏幕截图,但有时会失败并产生一个纯色的灰色图像。

我只是想testing一个图像是否只是一个纯色,如果它是一个testing失败。

什么将是一个非常简单而有效的testing方法呢?

如果您的图片是PNG,您可以使用像png.js这样的库来提取像素数据,并按以下方式使用它:

var PNG = require('png-js'); PNG.decode('some.png', function(pixels) { // pixels is a 1d array (in rgba order) of decoded pixel data }); 

然后你可以通过像素数组来检查每个像素元素是否相同。 如果他们都一样,你有你的纯色的结果。