Languages
[Edit]
EN

JavaScript - capture HTML canvas as png image

0 points
Created by:
JoanneSenior
1070

In this article, we would like to show you how to capture HTML canvas as png image using JavaScript.

Quick solution:

var canvas = document.querySelector('#my-canvas');
var image = new Image();
image.src = canvas.toDataURL('image/png');
document.body.appendChild(image);

 

Practical example

In this example, we use toDataURL() method to get the data URI containing a representation of the canvas and set it as the src property of the new image.

// ONLINE-RUNNER:browser;

<!doctype html>
<html>
<head>
  <style>

    #my-canvas { border: 1px solid gray; }

  </style>
</head>
<body>
  <div>Canvas:</div>
  <canvas id="my-canvas" width="200" height="200"></canvas>
  <div>Image:</div>
  <script>

    // Draw rectangles on canvas ----------------------------------------------------

    var canvas = document.querySelector('#my-canvas');
    var context = canvas.getContext('2d');
    context.fillStyle = 'red';
    context.fillRect(20,20,75,75);
    context.fillStyle = 'blue';
    context.fillRect(75,75,75,75);


    // Capture canvas as png image ---------------------------------------------------

    var image = new Image();
    image.src = canvas.toDataURL('image/png');
    document.body.appendChild(image);

  </script>
</body>
</html>

References

  1. HTMLCanvasElement.toDataURL() - Web APIs | MDN
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join