Advertisement
nzisaacnz

Javascript image manipulation

Mar 26th, 2013
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 1.19 KB | None | 0 0
  1. <script>
  2. function Debug(v)
  3. {
  4.     if(v==null)window.parent.v=[]
  5.     else if(window.parent.v==null)window.parent.v = [v];
  6.     else window.parent.v[window.parent.v.length]=v;
  7. }
  8. var _ = function(id)
  9. {
  10.     return document.getElementById(id);
  11. }
  12. function onInput(inp,event)
  13. {
  14.     var image = new Image();
  15.     image.src = inp.value;
  16.     image.addEventListener("load",function(){imgLoad(this)});
  17. }
  18. function imgLoad(img)
  19. {
  20.     Debug();
  21.     var canvas = _("canvas");
  22.     var G = canvas.getContext("2d");
  23.     G.clearRect(0,0,canvas.width,canvas.height);
  24.     G.drawImage(img,0,0);
  25.     var M = canvas.width/2;
  26.     var imgData=G.getImageData(0,0,M,canvas.height);
  27.     Debug(imgData);
  28.     var w = imgData.width;
  29.     var h = imgData.height;
  30.     var L=3;
  31.     for(var i=0; i<imgData.data.length-4*w; i+=(i%4==2)?2:1)
  32.     {
  33.         if(i%(w*4)==2)i++;
  34.         var mx = Math.max(imgData.data[i+4],imgData.data[i+4*w]);
  35.         imgData.data[i] = 128+Math.abs((imgData.data[i]-mx))*L;
  36.     }
  37.     Debug(imgData);
  38.     G.putImageData(imgData,M,0);
  39. }
  40. </script>
  41. <input type="text" style="width:602" oninput="onInput(this,event)" id="text" value="logo.png"/>
  42. <canvas id="canvas" width="600" height="400" style="border:1px #00ff00 solid">
  43. </canvas>
  44. <script>
  45. onInput(_("text"),null);
  46. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement