canvas 設定透明度
通過CSS設定元素透明度非常簡單,方式也很多。
比如最為典型的一個方式是利用RGBA顏色值來實現。
程式碼片段如下:
[CSS] 純文字檢視 複製程式碼background-color:rgba(125,255,158,0.5);
前三個引數設定背景顏色,最後一個引數0.5用來設定透明度。
最後一個引數值介於0-1之間,0表示完全透明,1表示完全不透明。
更多CSS設定透明度方式可以參閱CSS 設定透明度一章節。
canvas設定透明度可以採用RGBA顏色表示法,也可以採用其他顏色表示法,比如HSLA等。
下面僅以RGBA顏色表示法為例,首先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload = function () { let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); //設定矩形的透明度 ctx.fillStyle = "rgba(100, 40, 40, 0.3)"; ctx.fillRect(10, 10, 100, 50); //設定線條的透明度 ctx.beginPath(); ctx.strokeStyle = "rgba(100, 40, 40, 0.2)"; ctx.moveTo(70, 80); ctx.lineTo(160, 70); ctx.stroke(); } </script> </head> <body> <canvas id="canvas" width="400" height="450"></canvas> </body> </html>
程式碼執行效果截圖如下:
程式碼繪製了一個矩形和斜線,並分別設定了它們的透明度。
通過fillStyle和strokeStyle分別填充矩形和描邊斜線,都是RGBA顏色值。
上述程式碼是分別設定填充和描邊透明度,繪製少數圖片還可以接受。
但是如果要繪製大量圖片,將是非常繁瑣的操作,所以需要尋求一種能夠統一設定透明度的方式。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload = function () { let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); //無透明度紅色矩形 ctx.fillStyle = "red"; ctx.fillRect(10, 10, 100, 50); ctx.globalAlpha = "0.3"; // 綠色矩形 ctx.fillStyle = "green"; ctx.fillRect(10, 70, 100, 50); // 藍色矩形 ctx.fillStyle = "blue"; ctx.fillRect(10, 130, 100, 50); } </script> </head> <body> <canvas id="canvas" width="400" height="450"></canvas> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).globalAlpha可以設定全域性透明度,它的名字也體現了這一點。
(2).此屬性只對它後面的路徑產生作用,又由於fillRect方法還具有建立新路徑和清除之前路徑和子路徑的功能,就如同隱式呼叫了beginPath方法,這就是為什麼第一個矩形沒有透明度的原因。
關於beginPath方法可以參閱canvas beginPath()一章節。
再來看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload = function () { let canvas = document.getElementById("canvas"); let ctx = canvas.getContext("2d"); ctx.globalAlpha = "0.2"; //設定矩形的透明度 ctx.fillStyle = "rgba(100, 40, 40, 0.9)"; ctx.fillRect(10, 10, 100, 50); } </script> </head> <body> <canvas id="canvas" width="400" height="450"></canvas> </body> </html>
上述程式碼同時設定了顏色的透明度和全域性透明度。
這個時候會進行疊加處理,也就是最終透明度是0.2*0.9。
相關文章
- canvas設定透明度Canvas
- jQuey設定透明度
- CSS 透明度設定CSS
- JavaScript設定元素透明度JavaScript
- canvas透明度的矩形效果Canvas
- CSS 設定邊框透明度CSS
- SVG 填充、描邊和透明度設定SVG
- canvas 設定矩形樣式Canvas
- canvas設定陰影效果Canvas
- canvas—元素樣式設定Canvas
- CSS3漸變方式設定透明度CSSS3
- canvas 設定線條的樣式Canvas
- CSS3顏色不透明度如何設定CSSS3
- win10工作列透明度設定方法_win10如何調整工作列透明度Win10
- css設定canvas畫布尺寸與width和height設定的區別CSSCanvas
- CSS 與 canvas 屬性設定畫布尺寸CSSCanvas
- CSS與canvas屬性設定畫布尺寸CSSCanvas
- 不咕剪輯APP設定視訊字幕的透明度的方法APP
- CSS和canvas標籤設定畫布尺寸區別CSSCanvas
- win10工作列透明度調節怎麼設定 win10企業版工作列透明度調節操作方法Win10
- 歐盟將為數字貨幣設定更嚴格的透明度規則
- canvas預設畫布的尺寸是多大?怎樣設定才能不會變形?Canvas
- win10工作列顏色怎麼改透明 win10工作列透明度設定Win10
- win10系統利用登錄檔設定Alt-Tab介面邊框透明度的方法Win10
- win10工作列100%透明怎麼設定 工作列透明度調節的詳細方法Win10
- CSS 透明度CSS
- win10透明化工作列怎麼設定_win10怎麼改工作列透明度Win10
- CSS opacity 透明度CSS
- CSS 透明度漸變CSS
- Laravel setting 設定 / 系統設定 / 網站設定Laravel網站
- 不咕剪輯APP設定影片字幕的透明度的方法APP
- canvas動畫教程-2 基礎設施Canvas動畫
- 前端如何設定背景顏色的透明度 css中的 rgba() 函式詳解 :background-color: rgba(255,255,255,0)前端CSS函式
- JavaScript透明度漸變效果JavaScript
- CSS透明度漸變效果CSS
- Jenkins定時設定Jenkins
- 向量插圖設計繪製Canvas X DrawCanvas
- win10電腦 tls安全設定怎麼設定為預設設定Win10TLS