HTML canvas drawImage() 方法

2018-11-09 16:13 更新

HTML canvas drawImage() 方法

HTML canvas 參考手冊(cè) HTML canvas 參考手冊(cè)

要使用的圖片:

The Scream

實(shí)例

向畫布上面繪制圖片:

您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。

JavaScript:

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

嘗試一下 ?

瀏覽器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

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

注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。


定義和用法

drawImage() 方法在畫布上繪制圖像、畫布或視頻。

drawImage() 方法也能夠繪制圖像的某些部分,以及/或者增加或減少圖像的尺寸。

JavaScript 語法

在畫布上定位圖像:

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

在畫布上定位圖像,并規(guī)定圖像的寬度和高度:

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

剪切圖像,并在畫布上定位被剪切的部分:

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

參數(shù)值

參數(shù) 描述
img 規(guī)定要使用的圖像、畫布或視頻。  
sx 可選。開始剪切的 x 坐標(biāo)位置。
sy 可選。開始剪切的 y 坐標(biāo)位置。
swidth 可選。被剪切圖像的寬度。
sheight 可選。被剪切圖像的高度。
x 在畫布上放置圖像的 x 坐標(biāo)位置。
y 在畫布上放置圖像的 y 坐標(biāo)位置。
width 可選。要使用的圖像的寬度(伸展或縮小圖像)。
height 可選。要使用的圖像的高度(伸展或縮小圖像)。


實(shí)例

更多實(shí)例

實(shí)例

在畫布上對(duì)圖像進(jìn)行定位,然后規(guī)定圖像的寬度和高度:

您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。

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

嘗試一下 ?

實(shí)例

剪切圖片,并在畫布上對(duì)被剪切的部分進(jìn)行定位:

您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。

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

嘗試一下 ?

實(shí)例

要使用的視頻(請(qǐng)按下播放鍵以開始演示):

畫布:

您的瀏覽器不支持 HTML5 canvas 標(biāo)簽。

JavaScript(每 20 毫秒,代碼就會(huì)繪制視頻的當(dāng)前幀):

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

嘗試一下 ?


HTML canvas 參考手冊(cè) HTML canvas 參考手冊(cè)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)