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

Untitled

By: a guest on Aug 5th, 2012  |  syntax: None  |  size: 1.68 KB  |  hits: 10  |  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. Canvas doesnt work
  2. <script>
  3.     $('#buttonID').click(function generateRGBKs( img ) {
  4.         var w = img.width;
  5.         var h = img.height;
  6.         var rgbks = [];
  7.  
  8.         var canvas = document.createElement("canvas");
  9.         canvas.width = w;
  10.         canvas.height = h;
  11.  
  12.         var ctx = canvas.getContext("2d");
  13.         ctx.drawImage( img, 0, 0 );
  14.  
  15.         var pixels = ctx.getImageData( 0, 0, w, h ).data;
  16.  
  17.         // 4 is used to ask for 3 images: red, green, blue and
  18.         // black in that order.
  19.         for ( var rgbI = 0; rgbI < 4; rgbI++ ) {
  20.             var canvas = document.createElement("canvas");
  21.             canvas.width  = w;
  22.             canvas.height = h;
  23.  
  24.             var ctx = canvas.getContext('2d');
  25.             ctx.drawImage( img, 0, 0 );
  26.             var to = ctx.getImageData( 0, 0, w, h );
  27.             var toData = to.data;
  28.  
  29.             for (
  30.                     var i = 0, len = pixels.length;
  31.                     i < len;
  32.                     i += 4
  33.             ) {
  34.                 toData[i  ] = (rgbI === 0) ? pixels[i  ] : 0;
  35.                 toData[i+1] = (rgbI === 1) ? pixels[i+1] : 0;
  36.                 toData[i+2] = (rgbI === 2) ? pixels[i+2] : 0;
  37.                 toData[i+3] =                pixels[i+3]    ;
  38.             }
  39.  
  40.             ctx.putImageData( to, 0, 0 );
  41.  
  42.             // image is _slightly_ faster then canvas for this, so convert
  43.             var imgComp = new Image();
  44.             imgComp.src = canvas.toDataURL();
  45.  
  46.             rgbks.push( imgComp );
  47.         }
  48.  
  49.         return rgbks;
  50.  
  51.     });
  52.  
  53.  
  54.  </script>
  55.  </head>
  56. <body>
  57. <img src="profile.jpg" width="400px" height="380px">
  58. <FORM>
  59.  
  60. <INPUT TYPE="BUTTON" VALUE="Change Color" ONCLICK="buttonID" class="buttonID">
  61. </FORM>