关于html5如何在canvas中插入图片的示例详解


本文摘自PHP中文网,作者黄舟,侵删。

canvas loading...

在canvas中显示图片非常简单。可以通过修正层为图片添加印章、拉伸图片或者修改图片等,并且图片通常会成为canvas上的焦点。用HTML5 Canvas API内置的几个简单命令可以轻松地为canvas添加图片内容。

不过,图片增加了canvas操作的复杂度:必须等到图片完全加载后才能对其进行操作。浏览器通常会在页面脚本执行的同时异步加载图片。如果试图在图片未完全加载之前就将其呈现到canvas上,那么canvas将不会显示任何图片。因此,开发人员要特别注意,在呈现之前,应确保图片已经加载完毕。

为保证在呈现之前图片已完全加载,我们提供了回调,即仅当图像加载完成时才执行后续代码,如代码清单如下所示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<script type="text/javascript">

function drawBeauty(beauty){

var mycv = document.getElementById("cv"); 

var myctx = mycv.getContext("2d");

myctx.drawImage(beauty, 0, 0);

}

function load(){

var beauty = new Image(); 

beauty.src = "http://images.cnblogs.com/cnblogs_com/html5test/359114/r_test.jpg";

if(beauty.complete){

   drawBeauty(beauty);

}else{

   beauty.onload = function(){

     drawBeauty(beauty);

   };

   beauty.onerror = function(){

     window.alert('美女加载失败,请重试');

   };

};  

}//load

if (document.all) {

  window.attachEvent('onload', load); 

  }else

  window.addEventListener('load', load, false);

  }

</script>

阅读剩余部分

相关阅读 >>

html5表单新增元素与属性

学html5能干什么的

html5 canvas标签的作用以及canvas标签的历史由来介绍

html如何修改日期样式

h5的多线程如何实现web worker

html5如何实现简单进度条效果?动态进度条的实现(代码示例)

移动端利用html5对照片处理的教程实例

h5前端开发是什么

html5使用canvas实现跟随光标跳动的火焰效果

html5的web界面中meta实列详解

更多相关阅读请进入《canvas》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...