HTML5 Canvas實現設定透明度使用範例

來源:互聯網
上載者:User

通常我們使用rgb()函數設定不透明的顏色,要實現半透明的顏色有兩種方法。

1,使用rgba()函數

這種方法好適合使用多種顏色繪製,而且每個顏色需要單獨設定不同的透明度的情況。
比如下面範例,底部的圓形使用實心顏色,上面的三角形使用半透明顏色填充,兩種圖形邊框都使用實心顏色。

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
 
//設定填充及描邊顏色
context.fillStyle = "rgb(100,150,185)";
context.lineWidth = 10;
context.strokeStyle = "red";
//繪製圓形
context.arc(110, 90, 80, 0, 2*Math.PI);
context.fill();
context.stroke();
 
//調用beginPath()繪製新形狀
context.beginPath();
 
//用半透明的顏色填充三角形
context.fillStyle = "rgba(100,150,185,0.5)";
//繪製三角形
context.moveTo(215,50);
context.lineTo(25,190);
context.lineTo(315,190);
context.closePath();
context.fill();
context.stroke();

2,設定繪圖內容相關的globalAlpha屬性

設定後,後續所有的繪圖操作都會使用相同的透明度。
下面範例可以看到三角形的內部和邊框都透明了。


var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
 
//設定填充及描邊顏色
context.fillStyle = "rgb(100,150,185)";
context.lineWidth = 10;
context.strokeStyle = "red";
//繪製圓形
context.arc(110, 90, 80, 0, 2*Math.PI);
context.fill();
context.stroke();
 
//調用beginPath()繪製新形狀
context.beginPath();
 
//用半透明的三角形
context.globalAlpha = 0.5;
context.fillStyle = "rgba(100,150,185)";
//繪製三角形
context.moveTo(215,50);
context.lineTo(25,190);
context.lineTo(315,190);
context.closePath();
context.fill();
context.stroke();

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.