在 node.js 上检测纯色图像
Detecting a solid color image on node.js
我正在使用 phantomjs 进行屏幕截图,但有时它会失败并生成纯灰色图像。
我只想测试一个图像是否只是纯色,如果是纯色则测试失败。
真正简单有效的测试方法是什么?
如果您的图像是 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
});
然后您可以遍历像素数组,检查每个像素元素是否相同。如果它们都相同,那么您就得到了纯色结果。
我正在使用 phantomjs 进行屏幕截图,但有时它会失败并生成纯灰色图像。
我只想测试一个图像是否只是纯色,如果是纯色则测试失败。
真正简单有效的测试方法是什么?
如果您的图像是 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
});
然后您可以遍历像素数组,检查每个像素元素是否相同。如果它们都相同,那么您就得到了纯色结果。