HTML canvas drawImage()Method

HTML canvas 参考手册HTML canvas Reference Manual

Image to use:

The Scream

Example

Draw the image onto the canvas:

Your browser does not support the HTML5 canvas tag.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
img.onload = function(){
    ctx.drawImage(img,10,10);
}

Try it Yourself »

Browser Support

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9, Firefox, Opera, Chrome, and Safari support the drawImage() method.

Note:Internet Explorer 8 and earlier versions do not support the <canvas> element.


Definition and Usage

The drawImage() method draws an image, canvas, or video onto the canvas.

The drawImage() method can also draw parts of an image, and/or increase or decrease the image size.

JavaScript Syntax

Position an image on the canvas:

JavaScript Syntax: context.drawImage(img,x,y);

Position an image on the canvas, and specify the width and height of the image:

JavaScript Syntax: context.drawImage(img,x,y,width,height);

Cut an image, and position the cut part on the canvas:

JavaScript Syntax: context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

Parameter Values

Parameter Description
img Specifies the image, canvas, or video to use.  
sx Optional. The x-coordinate position to start cutting.
sy Optional. The y-coordinate position to start cutting.
swidth Optional. The width of the cut image.
sheight Optional. The height of the cut image.
x The x-coordinate position to place the image on the canvas.
y The y-coordinate position to place the image on the canvas.
width Optional. The width of the image to use (stretch or shrink the image).
height Optional. The height of the image to use (stretch or shrink the image).


实例

More Examples

Example

Position the image on the canvas, then specify the width and height of the image:

Your browser does not support the HTML5 canvas tag.

JavaScript:

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);
}

Try it Yourself »

Example

Cut an image, and position the cut part on the canvas:

Your browser does not support the HTML5 canvas tag.

JavaScript:

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);

Try it Yourself »

Example

Video to use (press the play button to start the demo):

Canvas:

Your browser does not support the canvas tag.

JavaScript (every 20 milliseconds, the code draws the current frame of the video):

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);

Try it Yourself »


HTML canvas 参考手册HTML canvas Reference Manual Other Extensions