Hacker News new | ask | show | jobs
by lukegb 4669 days ago
Damn, you went for the same solution as me. I didn't think anyone else would so obtuse as to use a canvas to access the raw image data.

Here's my equivalent solution:

  var canvas = document.createElement('canvas');
  canvas.height = 1;
  canvas.width = 1;
  var twodctx = canvas.getContext('2d');
  var blockImg = null;
  var qs = document.querySelectorAll('img');
  for (var i = 0; i < qs.length; i++) {
    var img = qs[i];
    twodctx.drawImage(img, 0, 0, 1, 1);
    var imgd = twodctx.getImageData(0,0,1,1);
    if (imgd.data[0] == imgd.data[1] && imgd.data[0] == imgd.data[2] && imgd.data[3] == 255) {
      var badDiv = document.createElement('div');
      badDiv.style.display = 'none';
      document.body.appendChild(badDiv);
      badDiv.appendChild(img.parentNode.removeChild(img));
      break;
    }
  }