Canvas像素處理之如何改變透明度-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Canvas像素處理之如何改變透明度的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元運(yùn)城做網(wǎng)站,已為上家服務(wù),為運(yùn)城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

一 定義和用法


getImageData()方法返回 ImageData 對(duì)象,該對(duì)象拷貝了畫布指定矩形的像素?cái)?shù)據(jù)。

注意:ImageData對(duì)象不是圖像,它規(guī)定了畫布上一個(gè)部分(矩形),并保存了該矩形內(nèi)每個(gè)像素的信息。

對(duì)于ImageData對(duì)象中的每個(gè)像素,都存在著四方面的信息,即RGBA值:

  • R - 紅色(0-255)

  • G - 綠色(0-255)

  • B - 藍(lán)色(0-255)

A - alpha 通道(0-255; 0 是透明的,255 是完全可見(jiàn)的)

color/alpha 信息以數(shù)組形式存在,并存儲(chǔ)于 ImageData 對(duì)象的 data 屬性中。

提示:在操作完成數(shù)組中的 color/alpha 信息之后,您可以使用 putImageData() 方法將圖像數(shù)據(jù)拷貝回畫布上。

二 代碼

<!DOCTYPE html>
<html>
<head>
 <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
 <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
 <title> 改變透明度 </title>
</head>
<body>
<h3> 改變透明度 </h3>
<canvas id="mc" width="600" height="460"
 style="border:1px solid black"></canvas>
<script type="text/javascript">
 // 獲取canvas元素對(duì)應(yīng)的DOM對(duì)象
 var canvas = document.getElementById('mc');
 // 獲取在canvas上繪圖的CanvasRenderingContext2D對(duì)象
 var ctx = canvas.getContext('2d');
 var image = new Image();
 image.src = "test.png";
 image.onload = function()
 {
  // 用帶透明度參數(shù)的方法繪制圖片
  drawImage(image , 124  , 20 , 0.4);
 }
 var drawImage = function(image , x  , y , alpha)
 {
  // 繪制圖片
  ctx.drawImage(image , x , y);
  // 獲取從x、y開(kāi)始,寬為image.width、高為image.height的圖片數(shù)據(jù)
  // 也就是獲取繪制的圖片數(shù)據(jù)
  var imgData = ctx.getImageData(x , y , image.width , image.height);
  for (var i = 0 , len = imgData.data.length ; i < len ; i += 4 )
  {
   // 改變每個(gè)像素的透明度
   imgData.data[i + 3] = imgData.data[i + 3] * alpha;
  }
  // 將獲取的圖片數(shù)據(jù)放回去。
  ctx.putImageData(imgData , x , y);
 }
</script>
</body>
</html>

三 運(yùn)行結(jié)果

Canvas像素處理之如何改變透明度

感謝各位的閱讀!關(guān)于“Canvas像素處理之如何改變透明度”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

分享文章:Canvas像素處理之如何改變透明度-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://muchs.cn/article16/hejgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站軟件開(kāi)發(fā)、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司