1. e-works数字化企业网
  2. 书屋
  3. 书籍列表
  4. HTML5 Canvas核心技术—图形、动画与游戏开发
  5. 打印Canvas的内容

第一章 基础知识

第九节 打印Canvas的内容


    程序清单1-11 使用toDataURL()方法将canvas的内容打印出来(HTML代码)

    <!DOCTYPE html>

       <head>

         <title>Clock</title>

         <style>

        body {

           background: #dddddd;

        }

        #canvas {

           position: absolute;

           left: 10px;

           top: 1.5em;

           margin: 20px;

           border: thin solid #aaaaaa;

        }

        #snapshotImageElement {

           position: absolute;

           left: 10px;

           top: 1.5em;

           margin: 20px;

           border: thin solid #aaaaaa;

        }

    </style>

</head>

<body>

    <div id='controls'>

      <input id='snapshotButton' type='button'value='Take snapshot'/>

    </div>

    <img id='snapshotImageElement'/>

    <canvas id='canvas' width='400' height='400'>

      Canvas not supported

    </canvas>

    <script src='example.js'></script>

  </body>

</html>

程序清单1-12 使用toDataURL()方法将canvas的内容打印出来(JavaScript代码)

var canvas = document.getElementById('canvas'),

    context = canvas.getContext('2d'),

    snapshotButton =document.getElementById('snapshotButton'),

    snapshotImageElement =

       document.getElementById('snapshotImageElement'),

    loop;

// Clock drawing functions are omitted from this listing

// in the interests of brevity. See Example 1.4

// for a complete listing of those methods.

// Event handlers.....................................................

snapshotButton.onclick = function (e) {

   var dataUrl;

   if (snapshotButton.value === 'Take snapshot') {

      dataUrl = canvas.toDataURL();

      clearInterval(loop);

      snapshotImageElement.src = dataUrl;

      snapshotImageElement.style.display ='inline';

      canvas.style.display = 'none';

      snapshotButton.value = 'Return to Canvas';

   }

   else {

      canvas.style.display = 'inline';

      snapshotImageElement.style.display = 'none';

      loop = setInterval(drawClock, 1000);

      snapshotButton.value = 'Take snapshot';

   }

};

系列微信

数字化企业网
PLM之神
e-works制信科技
MES百科
工业自动化洞察
智能制造IM
AI智造圈
智能工厂前线
工业机器人洞察
智造人才圈
工业软件应用
智能制造网博会
ERP之家
供应链指南针
© 2002-2025  武汉制信科技有限公司  版权所有  ICP经营许可证:鄂B2-20030029-1(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号 法律声明及隐私权政策     投诉举报电话:027-87592219

关于我们    |    联系我们    |    隐私条款

ICP经营许可证:鄂B2-20080078
(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号
© 2002-2025  武汉制信科技有限公司  版权所有
投诉举报电话:027-87592219

扫码查看