title: javascript getImageData() methods not working
body: <p>I'm trying to manipulate an image and display its image data, but it's not working.</p>
  <p>The following code is copied verbatim from w3Schools.com:
  <a href="https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_canvas_getimagedata2" rel="nofollow noreferrer">https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_canvas_getimagedata2</a></p>
  <p>The only thing I've changed is the src/address of the image.</p>
  <p>It runs on the w3schools site, but when I try to do this on my own computer, it copies the image without modifying it.</p>
  <p>What's going on here?!</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>document.getElementById("scream").onload = function() {
    var c = document.getElementById("myCanvas");
    var ctx = c.getContext("2d");
    var img = document.getElementById("scream");
    ctx.drawImage(img, 0, 0);
    var imgData = ctx.getImageData(0, 0, c.width, c.height);
    // invert colors
    var i;
    for (i = 0; i &lt; imgData.data.length; i += 4) {
      imgData.data[i] = 255 - imgData.data[i];
      imgData.data[i+1] = 255 - imgData.data[i+1];
      imgData.data[i+2] = 255 - imgData.data[i+2];
      imgData.data[i+3] = 255;
    }
    ctx.putImageData(imgData, 0, 0);
  };</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;body&gt;
  
  &lt;img id="scream" src="file:///C:/Users/16039/Pictures/Memes/theScream.jpg" alt="The Scream" width="220" height="277"&gt;
  &lt;canvas id="myCanvas" width="220" height="277" style="border:1px solid #d3d3d3;"&gt;
  Your browser does not support the HTML5 canvas tag.&lt;/canvas&gt;
  &lt;/body&gt;
  &lt;/html&gt;</code></pre>
  </div>
  </div>
  </p>