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

首頁 > 編程 > HTML > 正文

canvas裁剪clip()函數的具體使用

2024-08-26 00:20:28
字體:
來源:轉載
供稿:網友

在canvas中,可以使用clip()函數裁剪區域,設定裁剪區域后,只有在區域內的圖像才能顯示,其余部分會被屏蔽掉

未使用裁剪繪制一個圓

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title></title>      <style>          *{margin:0; padding:0;}          html, body{width:100%; height:100%; overflow:hidden; background-color:#AFAFAF;}      </style>  </head>  <body>      <canvas id="canvas"></canvas>      <script>          var canvas = document.getElementById('canvas'),              context = canvas.getContext('2d');          canvas.width = document.body.clientWidth;          canvas.height = document.body.clientHeight;          context.lineWidth = 3;          context.strokeStyle = 'red';          context.beginPath();          context.arc(200, 200, 100, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.stroke();          context.closePath();      </script>  </body>  </html>  

效果

canvas,裁剪,clip()

使用clip()裁剪區域

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title></title>      <style>          *{margin:0; padding:0;}          html, body{width:100%; height:100%; overflow:hidden; background-color:#AFAFAF;}      </style>  </head>  <body>      <canvas id="canvas"></canvas>      <script>          var canvas = document.getElementById('canvas'),              context = canvas.getContext('2d');          canvas.width = document.body.clientWidth;          canvas.height = document.body.clientHeight;          context.lineWidth = 3;          context.strokeStyle = 'red';          context.rect(0, 0, 200, 200);          context.clip();          context.beginPath();          context.arc(200, 200, 100, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.stroke();          context.closePath();      </script>  </body>  </html>  

效果

canvas,裁剪,clip()

也可以使用arc繪制圓形的剪裁區域

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title></title>      <style>          *{margin:0; padding:0;}          html, body{width:100%; height:100%; overflow:hidden; background-color:#AFAFAF;}      </style>  </head>  <body>      <canvas id="canvas"></canvas>      <script>          var canvas = document.getElementById('canvas'),              context = canvas.getContext('2d');          canvas.width = document.body.clientWidth;          canvas.height = document.body.clientHeight;          context.lineWidth = 3;          context.strokeStyle = 'red';          context.arc(100, 100, 150, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.clip();          context.beginPath();          context.arc(200, 200, 100, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.stroke();          context.closePath();      </script>  </body>  </html>  

效果

canvas,裁剪,clip()

使用save和restore實現只裁剪單個路徑

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <title></title>      <style>          *{margin:0; padding:0;}          html, body{width:100%; height:100%; overflow:hidden; background-color:#AFAFAF;}      </style>  </head>  <body>      <canvas id="canvas"></canvas>      <script>          var canvas = document.getElementById('canvas'),              context = canvas.getContext('2d');          canvas.width = document.body.clientWidth;          canvas.height = document.body.clientHeight;          context.lineWidth = 3;          context.strokeStyle = 'red';          context.save();          context.rect(0, 0, 200, 200);          context.clip();          context.beginPath();          context.arc(200, 200, 100, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.stroke();          context.closePath();          context.restore();          context.beginPath();          context.arc(250, 250, 100, (Math.PI / 180) * 0, (Math.PI / 180) * 360, false);          context.stroke();          context.closePath();      </script>  </body>  </html>  

效果

canvas,裁剪,clip()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平度市| 安乡县| 固安县| 宁蒗| 绥芬河市| 公安县| 牙克石市| 安仁县| 德兴市| 罗江县| 常山县| 申扎县| 绥中县| 大冶市| 石城县| 苏尼特左旗| 胶州市| 同心县| 凌海市| 凤台县| 东安县| 沙坪坝区| 车致| 锦州市| 巴彦淖尔市| 甘谷县| 油尖旺区| 平陆县| 宝山区| 错那县| 万宁市| 陈巴尔虎旗| 崇礼县| 新兴县| 龙井市| 临桂县| 鹰潭市| 马龙县| 香港| 花垣县| 通辽市|