关于html5如何在canvas中插入图片的示例详解
canvas
html5
插入
canvas loading...
在canvas中显示图片非常简单。可以通过修正层为图片添加印章、拉伸图片或者修改图片等,并且图片通常会成为canvas上的焦点。用HTML5 Canvas API内置的几个简单命令可以轻松地为canvas添加图片内容。
不过,图片增加了canvas操作的复杂度:必须等到图片完全加载后才能对其进行操作。浏览器通常会在页面脚本执行的同时异步加载图片。如果试图在图片未完全加载之前就将其呈现到canvas上,那么canvas将不会显示任何图片。因此,开发人员要特别注意,在呈现之前,应确保图片已经加载完毕。
为保证在呈现之前图片已完全加载,我们提供了回调,即仅当图像加载完成时才执行后续代码,如代码清单如下所示。
<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>
登录后复制
基本绘画
在最基本的画图操作中,你需要的只是希望图像出现处的位置(x和y坐标)。图像的位置是相对于其左上角来判断的。使用这种方法,图像可以简单的以其原尺寸被画在画布上。
drawImage(image, x, y) var canvas = document.getElementById(‘myCanvas’); var ctx = canvas.getContext(’2d’); ctx.drawImage(myImage, 50, 50); ctx.drawImage(myImage, 125, 125); ctx.drawImage(myImage, 210, 210);
登录后复制
缩放及调整尺寸
改变图像的尺寸,你需要使用重载的drawImage函数,提供给它希望的宽度和高度参数。
drawImage(image, x, y, width, height)
登录后复制
var canvas = document.getElementById(‘myCanvas’); var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50, 100, 100); ctx.drawImage(myImage, 125, 125, 200, 50); ctx.drawImage(myImage, 210, 210, 500, 500);
登录后复制
图像裁剪
最后一个drawImage方法的功用是对图像进行裁剪。
drawImage(image, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight)
登录后复制
参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。
以上是关于html5如何在canvas中插入图片的示例详解的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
1 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
在哪里可以找到原子中的起重机控制钥匙卡
1 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)