HTML5 canvas drawImage() ·½·¨
ʵÀý
ҪʹÓõÄͼƬ£º
Ïò»²¼ÉÏÃæ»æÖÆÍ¼Æ¬£º
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("tulip");
ctx.drawImage(img,10,10);
ä¯ÀÀÆ÷Ö§³Ö
Internet Explorer 9¡¢Firefox¡¢Opera¡¢Chrome ÒÔ¼° Safari Ö§³Ö drawImage() ·½·¨¡£
×¢ÊÍ£ºInternet Explorer 8 »ò¸üÔçµÄä¯ÀÀÆ÷²»Ö§³Ö <canvas> ÔªËØ¡£
¶¨ÒåºÍÓ÷¨
drawImage() ·½·¨ÔÚ»²¼ÉÏ»æÖÆÍ¼Ïñ¡¢»²¼»òÊÓÆµ¡£
drawImage() ·½·¨Ò²Äܹ»»æÖÆÍ¼ÏñµÄijЩ²¿·Ö£¬ÒÔ¼°/»òÕßÔö¼Ó»ò¼õÉÙͼÏñµÄ³ß´ç¡£
JavaScript Óï·¨ 1
ÔÚ»²¼É϶¨Î»Í¼Ïñ£º
context.drawImage(img,x,y);
JavaScript Óï·¨ 2
ÔÚ»²¼É϶¨Î»Í¼Ïñ£¬²¢¹æ¶¨Í¼ÏñµÄ¿í¶ÈºÍ¸ß¶È£º
context.drawImage(img,x,y,width,height);
JavaScript Óï·¨ 3
¼ôÇÐͼÏñ£¬²¢ÔÚ»²¼É϶¨Î»±»¼ôÇеIJ¿·Ö£º
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
ÔÚ»²¼É϶ÔͼÏñ½øÐж¨Î»£¬È»ºó¹æ¶¨Í¼ÏñµÄ¿í¶ÈºÍ¸ß¶È£º
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("tulip");
ctx.drawImage(img,10,10,240,160);
Àý×Ó 2
¼ôÇÐͼƬ£¬²¢ÔÚ»²¼É϶Ա»¼ôÇеIJ¿·Ö½øÐж¨Î»£º
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,90,130,90,80,20,20,90,80);
Àý×Ó 3
ҪʹÓõÄÊÓÆµ£¨Ç밴ϲ¥·Å¼üÒÔ¿ªÊ¼ÑÝʾ£©£º
»²¼£º
JavaScript £¨Ã¿ 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,0,0,270,135)},20);},false);
v.addEventListener('pause',function() {window.clearInterval(i);},false);
v.addEventListener('ended',function() {clearInterval(i);},false);