HTML canvas drawImage() 方法
实例
向画布上面绘制图片:
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
img.onload = function(){
ctx.drawImage(img,10,10);
} 浏览器支持
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 drawImage() 方法。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
定义和用法
drawImage() 方法在画布上绘制图像、画布或视频。
drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸。
JavaScript 语法
在画布上定位图像:
| JavaScript 语法: | context.drawImage(img,x,y); |
|---|---|
在画布上定位图像,并规定图像的宽度和高度:
| JavaScript 语法: | context.drawImage(img,x,y,width,height); |
|---|---|
剪切图像,并在画布上定位被剪切的部分:
| JavaScript 语法: | context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height); |
|---|---|
参数值
| 参数 | 描述 |
|---|---|
| img | 规定要使用的图像、画布或视频。 |
| sx | 可选。开始剪切的 x 坐标位置。 |
| sy | 可选。开始剪切的 y 坐标位置。 |
| swidth | 可选。被剪切图像的宽度。 |
| sheight | 可选。被剪切图像的高度。 |
| x | 在画布上放置图像的 x 坐标位置。 |
| y | 在画布上放置图像的 y 坐标位置。 |
| width | 可选。要使用的图像的宽度(伸展或缩小图像)。 |
| height | 可选。要使用的图像的高度(伸展或缩小图像)。 |
更多实例
实例1
在画布上对图像进行定位,然后规定图像的宽度和高度:
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
img.onload = function(){
ctx.drawImage(img,10,10,150,180);
} 实例2
剪切图片,并在画布上对被剪切的部分进行定位:
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img,90,130,50,60,10,10,50,60); 实例3
每 20 毫秒,绘制视频的当前帧:
var v = document.getElementById("video1");
var c = document.getElementById("myCanvas");
ctx = c.getContext('2d');
v.addEventListener('play', function() {
var i = window.setInterval(function() {
ctx.drawImage(v, 5, 5, 260, 125)
}, 20);
}, false);
v.addEventListener('pause', function() {
window.clearInterval(i);
}, false);
v.addEventListener('ended', function() {
clearInterval(i);
}, false);