国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > HTML5 > 正文

Canvas 像素處理之改變透明度的實(shí)現(xiàn)代碼

2024-09-05 07:22:47
字體:
供稿:網(wǎng)友

一 定義和用法

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 是完全可見的)

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><h2> 改變透明度 </h2><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開始,寬為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é)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 山东省| 湖州市| 兴国县| 来凤县| 司法| 郓城县| 云和县| 丁青县| 海安县| 应城市| 宁南县| 个旧市| 凤翔县| 安西县| 达日县| 赤城县| 海兴县| 宝坻区| 洛南县| 鄂州市| 本溪| 碌曲县| 天等县| 双辽市| 峨边| 福清市| 阿合奇县| 邢台县| 龙岩市| 岑溪市| 津南区| 新晃| 甘孜| 巴中市| 安宁市| 九寨沟县| 巨鹿县| 通山县| 黄大仙区| 龙南县| 长汀县|