canvas 擦除圖案

admin發表於2020-03-14

canvas 可以繪製圖案,可以將已繪製的圖案擦除。

擦除圖案的需求很多,比如圖案圍繞中心點旋轉效果。

上述效果文字不做介紹,具體參閱canvas 圍繞中心旋轉一章節。

通過clearRect()方法即可實現擦除指定區域圖案的功能。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="https://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
canvas {
  border:2px dotted #ccc;
}
</style>
<script>
window.onload = ()=> {
  let canvas = document.getElementById('canvas');
  let ctx = canvas.getContext("2d");
  ctx.fillStyle = "#ccc";
  ctx.fillRect(0, 0, 300, 150);
  ctx.clearRect(20, 20, 100, 50);
}
</script>
</head>
<body>
<canvas id="canvas" width="310" height="180"></canvas>
</body>
</html>

上述程式碼演示了clearRect()方法用法,執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/202003/14/000159z2swnzsz2vtnsdoj.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

程式碼分析如下:

[JavaScript] 純文字檢視 複製程式碼
let canvas = document.getElementById('canvas');
let ctx = canvas.getContext("2d");

通過document.getElementById("ant")獲取<canvas>元素物件,也就是獲取畫布。

再利用<canvas>元素物件的getContext()方法獲取繪圖環境,具體參閱canvas getContext()一章節。

[JavaScript] 純文字檢視 複製程式碼
ctx.fillStyle = "#ccc";
ctx.fillRect(0, 0, 300, 150);

通過fillStyle屬性設定填充顏色為"#ccc"。然後利用fillRect()方法繪製一個矩形。

[JavaScript] 純文字檢視 複製程式碼
ctx.clearRect(20, 20, 100, 50);

通過clearRect()方法在指定位置擦除指定尺寸區域內的圖案。

clearRect()可以參閱canvas clearRect()一章節。

相關文章