HLJ 发布于
2018-08-20 17:00:18

HTML5 Canvas toDataURL()方法将画布另存为图像

要将画布图形保存为图像,我们可以将图像对象的源设置为图像数据URL。 从那里,用户可以右键单击图像以将其保存到本地计算机。 或者,我们也可以直接打开带有图像数据URL的新浏览器窗口,用户可以从那里保存它。
注意:toDataURL()方法要求绘制到画布上的任何图像都托管在Web服务器上,该域服务器与执行它的代码具有相同的域。 如果不满足此条件,则抛出SECURITY_ERR异常。
html代码:
<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body {
        margin: 0px;
        padding: 0px;
      }
    </style>
  </head>
  <body>
    <canvas id="myCanvas" width="578" height="200" style="display:none;"></canvas>
    <img id="canvasImg" alt="Right click to save me!">
    <script>
      var canvas = document.getElementById('myCanvas');
      var context = canvas.getContext('2d');

      // draw cloud
      context.beginPath();
      context.moveTo(170, 80);
      context.bezierCurveTo(130, 100, 130, 150, 230, 150);
      context.bezierCurveTo(250, 180, 320, 180, 340, 150);
      context.bezierCurveTo(420, 150, 420, 120, 390, 100);
      context.bezierCurveTo(430, 40, 370, 30, 340, 50);
      context.bezierCurveTo(320, 5, 250, 20, 250, 50);
      context.bezierCurveTo(200, 5, 150, 20, 170, 80);
      context.closePath();
      context.lineWidth = 5;
      context.fillStyle = '#8ED6FF';
      context.fill();
      context.strokeStyle = '#0000ff';
      context.stroke();

      // save canvas image as data url (png format by default)
      var dataURL = canvas.toDataURL();

      // set canvasImg image src to dataURL
      // so it can be saved as an image
      document.getElementById('canvasImg').src = dataURL;

    </script>
  </body>
</html>
当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2018-08-20/177.html
最后生成于 2023-06-18 18:38:17
此内容有帮助 ?
0