html5在canvas中插入图片
来源:互联网 发布:mac删除vmware fusion 编辑:程序博客网 时间:2024/06/07 06:13
html5在canvas中插入图片
在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);
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);
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)
sourceX,
sourceY,
sourceWidth,
sourceHeight,
destX,
destY,
destWidth,
destHeight)
参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。
转载自:http://www.cnblogs.com/html5test/archive/2012/03/01/2375558.html
0 0
- html5在canvas中插入图片
- 在canvas中插入图片
- html5 canvas在图片上画超链接
- 怎样将html5中利用canvas绘制的图像在服务端保存为图片?
- HTML5 Canvas: 在HTML页面中添加Canvas
- HTML5 canvas获取图片
- html5 canvas显示图片
- html5 canvas 图片压缩
- html5<canvas在画布上画视频和图片>
- 利用HTML5中Canvas处理并存储图片
- HTML5 - Chrome中canvas标签显示图片空白问题
- 利用HTML5中Canvas处理并存储图片
- html5中svg,canvas和图片之间的相互转化
- 在protel中插入图片
- 在TextView中插入图片
- 在datagridview中插入图片
- 在CSDN中插入图片
- 在TextView中插入图片
- 关于goole IO大会发布的android M和android studio1.3的更新
- 面试题4:损失精度与隐含的强制转换
- Java获取路径方法&相对路径读取xml文件方法
- 面试题5:final,finally和finalize的区别
- 朴素贝叶斯分类器——机器学习
- html5在canvas中插入图片
- P124 第三章 39题 求某数的几次方的值
- SSH2整合实例详细教程
- 机房重构之SqlHelper
- web安全结构图
- 【笔试面试】美图2015计算机视觉工程师实习生
- CSU1654: 收集金币
- php 提交form给本页面
- 用友ERT T6 技术解析(四)采购入库 下