主頁 > 知識(shí)庫 > 用HTML5 Canvas API中的clearRect()方法實(shí)現(xiàn)橡皮擦功能

用HTML5 Canvas API中的clearRect()方法實(shí)現(xiàn)橡皮擦功能

熱門標(biāo)簽:鄭州電銷外呼系統(tǒng)違法嗎 ai電銷機(jī)器人連接網(wǎng)關(guān) 漳州人工外呼系統(tǒng)排名 威海營銷外呼系統(tǒng)招商 農(nóng)村住宅地圖標(biāo)注 跟電銷機(jī)器人做同事 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)怎么安裝 中紳電銷智能機(jī)器人 濟(jì)南辦理400電話

在現(xiàn)實(shí)世界中,我們使用畫筆在畫板上進(jìn)行繪畫;在html5 canvas中,我們同樣可以使用canvas的畫筆——CanvasRenderingContext2D對象在canvas上進(jìn)行繪畫。眾所周知,我們的畫筆一般都會(huì)與橡皮擦配套使用,以便于糾正繪畫過程中的錯(cuò)誤并重新繪畫。在html5 canvas中,CanvasRenderingContext2D對象也同樣給我們提供了一個(gè)可以永遠(yuǎn)重復(fù)使用的橡皮擦——clearRect()方法。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. clearRect(x, y, width, height)  

CanvasRenderingContext2D對象的clearRect()方法用于清除canvas內(nèi)以指定坐標(biāo)點(diǎn)(x,y)為左上角、寬度為width、高度為height的矩形區(qū)域中的所有圖形像素。

下面,我們來看一個(gè)實(shí)際的例子。我們先繪制一個(gè)半徑為50px的實(shí)心圓,然后使用橡皮擦clearRect()對其中的局部區(qū)域進(jìn)行擦除。繪制圓形的原始html5代碼如下:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>   
  2. <html>   
  3. <head>   
  4. <meta charset="UTF-8">   
  5. <title>使用HTML5 clearRect()擦除指定的矩形區(qū)域的入門示例</title>   
  6. </head>   
  7. <body>   
  8.   
  9. <!-- 添加canvas標(biāo)簽,并加上紅色邊框以便于在頁面上查看 -->   
  10. <canvas id="myCanvas" width="400px" height="300px" style="border: 1px solid red;">   
  11. 您的瀏覽器不支持canvas標(biāo)簽。   
  12. </canvas>   
  13.   
  14. <script type="text/javascript">   
  15. //獲取Canvas對象(畫布)   
  16. var canvas = document.getElementById("myCanvas");   
  17. //簡單地檢測當(dāng)前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯(cuò)誤   
  18. if(canvas.getContext){     
  19.     //獲取對應(yīng)的CanvasRenderingContext2D對象(畫筆)   
  20.     var ctx = canvas.getContext("2d");   
  21.        
  22.     //繪制一個(gè)以坐標(biāo)點(diǎn)(100,10)為圓心、半徑為50px的圓形   
  23.     ctx.arc(100, 100, 50, 0, Math.PI * 2, false);   
  24.        
  25.     //繪制并填充圓形內(nèi)部   
  26.     ctx.fill();      
  27. }   
  28. </script>   
  29. </body>   
  30. </html>  

對應(yīng)的顯示效果如下:

現(xiàn)在,我們使用clearRect()方法對實(shí)心圓中以圓心(100,100)為中心,周邊各10px的矩形區(qū)域部分進(jìn)行擦除。

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. <script type="text/javascript">   
  2. //獲取Canvas對象(畫布)   
  3. var canvas = document.getElementById("myCanvas");   
  4. //簡單地檢測當(dāng)前瀏覽器是否支持Canvas對象,以免在一些不支持html5的瀏覽器中提示語法錯(cuò)誤   
  5. if(canvas.getContext){     
  6.     //獲取對應(yīng)的CanvasRenderingContext2D對象(畫筆)   
  7.     var ctx = canvas.getContext("2d");   
  8.        
  9.     //繪制一個(gè)以坐標(biāo)點(diǎn)(100,10)為圓心、半徑為50px的圓形   
  10.     ctx.arc(100, 100, 50, 0, Math.PI * 2, false);   
  11.        
  12.     //繪制并填充圓形內(nèi)部   
  13.     ctx.fill();   
  14.        
  15.     //擦除矩形區(qū)域內(nèi)的圖形   
  16.     ctx.clearRect(90, 90, 20, 20);   
  17. }   
  18. </script>  

對應(yīng)的顯示效果如下(是不是有點(diǎn)像一個(gè)銅錢?)。


頁面上我們可以擦除一片頁面上的區(qū)域,讓其顯示出背景圖片。
下面的例子中我們擦除了矩形中的空白讓其顯示頁面背景:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>   
  2. <html lang="zh">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>clearRect()</title>   
  6.     <style>   
  7.         body { background: url("./images/bg2.jpg") repeat; }  
  8.         #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }   
  9.     </style>   
  10. </head>   
  11. <body>   
  12. <div id="canvas-warp">   
  13.     <canvas id="canvas">   
  14.         你的瀏覽器居然不支持Canvas?!趕快換一個(gè)吧?。?  
  15.     </canvas>   
  16. </div>   
  17.   
  18. <script>   
  19.     window.onload = function(){   
  20.         var canvas = document.getElementById("canvas");   
  21.         canvas.width = 800;   
  22.         canvas.height = 600;   
  23.         var context = canvas.getContext("2d");   
  24.         context.fillStyle = "#FFF";   
  25.         context.fillRect(0,0,800,600);   
  26.   
  27.         //清空畫布   
  28.         context.clearRect(0,0,canvas.width,canvas.height);   
  29.   
  30.     };   
  31. </script>   
  32. </body>   
  33. </html>  

標(biāo)簽:蘇州 甘南 萍鄉(xiāng) 文山 紅河 咸陽 營口 惠州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用HTML5 Canvas API中的clearRect()方法實(shí)現(xiàn)橡皮擦功能》,本文關(guān)鍵詞  用,HTML5,Canvas,API,中的,clearRect,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用HTML5 Canvas API中的clearRect()方法實(shí)現(xiàn)橡皮擦功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于用HTML5 Canvas API中的clearRect()方法實(shí)現(xiàn)橡皮擦功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章