溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

drawImage函數(shù)如何繪制圖片

發(fā)布時(shí)間:2020-12-03 10:51:48 來(lái)源:億速云 閱讀:249 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)drawImage函數(shù)如何繪制圖片,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

drawImage函數(shù)繪制圖片有三種方法分別為:按原圖片的大小進(jìn)行繪制、按照所指定的大小進(jìn)行繪制、通用方法一般可用于圖片裁剪

drawImage函數(shù)如何繪制圖片

drawImage函數(shù)是HTML5中的一個(gè)新元素canvas標(biāo)簽中的一個(gè)方法,它主要是用于畫圖、合成圖象、或做簡(jiǎn)單的動(dòng)畫等

drawImage() 方法有三種形式實(shí)現(xiàn)繪圖的效果

方法一:

第一種方法就是將整個(gè)圖像復(fù)制到畫布,并將其放置到指定點(diǎn)的左上角,并且將每個(gè)圖像像素映射成畫布坐標(biāo)系統(tǒng)的一個(gè)單元。即將按原圖片的大小進(jìn)行繪制

drawImage(image, x, y)

例:將圖像相對(duì)于左上角的位置來(lái)畫在畫布上

<script>
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="images/22.jpg";
 img.onload=function(){
cxt.drawImage(img,150,150);
cxt.drawImage(img,250,250);
}
</script>

效果圖:

drawImage函數(shù)如何繪制圖片

方法二:

第二種方法雖然也是將整個(gè)圖像復(fù)制到畫布中,但是它允許我們用畫布單位來(lái)指定想要的圖像的寬度和高度。

drawImage(image, x, y, width, height)

例:設(shè)置圖像的尺寸

<script>
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="images/22.jpg";
 img.onload=function(){
cxt.drawImage(img,150,150,100,100);
cxt.drawImage(img,250,250,100,100);
}
</script>

效果圖:

drawImage函數(shù)如何繪制圖片

方法三:

第三種方法是完全通用,它允許我們指定圖像的任何矩形區(qū)域并復(fù)制它,以及對(duì)畫布中的任何位置都可進(jìn)行任何的縮放

drawImage(image, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight)

例:對(duì)圖片進(jìn)行裁剪

<script>
var myImage=document.getElementById("myCanvas");
var cxt=myImage.getContext("2d");
var img=new Image();
img.src="images/22.jpg";
 img.onload=function(){
cxt.drawImage(img,20,30,50,50,25,25,100,100);
cxt.drawImage(img,115,115,100,100,125,125,200,200);
}
</script>

效果圖:

drawImage函數(shù)如何繪制圖片

關(guān)于drawImage函數(shù)如何繪制圖片就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI