Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 2nd, 2012  |  syntax: JavaScript  |  size: 1.12 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // ==UserScript==
  2. // @id             2
  3. // @name           2
  4. // @version        1.0
  5. // @namespace      
  6. // @author        
  7. // @description    
  8. // @include        *.jpg
  9. // @include        *.png
  10. // @run-at         window-load
  11.  
  12. var img=document.getElementsByTagName('img')[0];
  13. var can=document.createElement('canvas');
  14. var w=img.width;
  15. var h=img.height;
  16.  
  17.  
  18. can.width=img.width;
  19. can.height=img.height;
  20. img.removeAttribute('width');
  21. img.removeAttribute('height');
  22.  
  23. var ctx=can.getContext('2d');
  24. ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, w, h)
  25. var data=ctx.getImageData(0,0,can.width,can.height);
  26.  
  27.  
  28. img.width=w;
  29. img.height=h;
  30.  
  31. var sum=0;
  32. var num_transparent=0;
  33. for(var i=0;i<data.data.length;i+=4)
  34. {
  35.     if(data.data[i+3]>0)
  36.     {
  37.          sum+=(data.data[i]+data.data[i+1]+data.data[i+2])*data.data[i+3]/255;
  38.     }
  39.     else
  40.     {
  41.     num_transparent++;
  42.     }
  43.    
  44. }
  45. sum/=(data.data.length/4-num_transparent);
  46. //alert(sum);
  47. if(sum<128)
  48. document.body.setAttribute('style', "background: #fff;");
  49. else
  50. document.body.setAttribute('style', "background: #000;");
  51. //document.body.appendChild(can);