HTML Canvas Image Invert

Description

HTML Canvas Image Invert

View in separate window

<!DOCTYPE html>

<html>
  <head>
    <title>Manipulating images and video</title>
    <meta charset="utf-8">
    //from  ww  w .  j  a  v a  2 s . com
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    
    <script type="text/javascript">
      $(document).ready(function() {  
        var canvas = $("#myCanvas");
        var context = canvas.get(0).getContext("2d");
        
        // Inverting
        var image = new Image();
        image.src = "image1.png";
        $(image).load(function() {
          context.drawImage(image, 0, 0, 1024, 683, 0, 0, 500, 500);
          
          var imageData = context.getImageData(0, 0, canvas.width(), canvas.height());
          var pixels = imageData.data;
          var numPixels = pixels.length;
          
          // Clear the image
          context.clearRect(0, 0, canvas.width(), canvas.height());
        
          // Access and change pixel values
          for (var i = 0; i < numPixels; i++) {
            pixels[i*4] = 255-pixels[i*4]; // Red
            pixels[i*4+1] = 255-pixels[i*4+1]; // Green
            pixels[i*4+2] = 255-pixels[i*4+2]; // Blue
          };
          
          // Draw image data to the canvas
          context.putImageData(imageData, 0, 0);
        });
        

      });
    </script>
  </head>
  
  <body>
    <canvas id="myCanvas" width="500" height="500">
      <!-- Insert fallback content here -->
    </canvas>
  </body>
</html>



PreviousNext

Related