2

Iam using phantomjs for taking screen-shots but sometimes it fails and produces a solid grey image.

I just want to test whether a image is just a solid colour and if it is make a test fail.

What would be a really simple and efficient way of testing this?

Alxs24
  • 69
  • 7

1 Answers1

3

If your image is a PNG, you can use a library like png.js to extract pixel data and use it in the following way:

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

You can then loop through the pixel array checking if each pixel element is identical. If they're all the same, you've got your solid color result.

Brandon Smith
  • 1,197
  • 9
  • 13