HTML canvas drawImage() 方法

实例

要使用的图片:

要使用的图片.jpg

向画布上面绘制图片:

向画布上面绘制图片.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var img=document.getElementById("tulip");
  4. ctx.drawImage(img,10,10);

浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 drawImage() 方法。

注释:Internet Explorer 8 或更早的浏览器不支持 <canvas> 元素。

定义和用法

drawImage() 方法在画布上绘制图像、画布或视频。

drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸。

JavaScript 语法 1

在画布上定位图像:

  1. context.drawImage(img,x,y);

JavaScript 语法 2

在画布上定位图像,并规定图像的宽度和高度:

  1. context.drawImage(img,x,y,width,height);

JavaScript 语法 3

剪切图像,并在画布上定位被剪切的部分:

  1. 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

在画布上对图像进行定位,然后规定图像的宽度和高度:

在画布上对图像进行定位,然后规定图像的宽度和高度。.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var img=document.getElementById("tulip");
  4. ctx.drawImage(img,10,10,240,160);

例子 2

剪切图片,并在画布上对被剪切的部分进行定位:

剪切图片,并在画布上对被剪切的部分进行定位。.png

JavaScript:

  1. var c=document.getElementById("myCanvas");
  2. var ctx=c.getContext("2d");
  3. var img=document.getElementById("scream");
  4. ctx.drawImage(img,90,130,90,80,20,20,90,80);

例子 3

要使用的视频(请按下播放键以开始演示):

画布:

(待编辑)

JavaScript (每 20 毫秒,代码就会绘制视频的当前帧):

  1. var v=document.getElementById("video1");
  2. var c=document.getElementById("myCanvas");
  3. ctx=c.getContext('2d');
  4. v.addEventListener('play',function() {var i=window.setInterval(function()
  5. {ctx.drawImage(v,0,0,270,135)},20);},false);
  6. v.addEventListener('pause',function() {window.clearInterval(i);},false);
  7. v.addEventListener('ended',function() {clearInterval(i);},false);