最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

簡書   發(fā)布時間:2016-03-15 11:24:02   作者:Airing   我要評論
這篇文章主要介紹了如何用HTML5 Canvas API中的clearRect()方法實現(xiàn)橡皮擦功能,文中擦除頁面某片區(qū)域使其顯示出背景圖的例子非常實用,需要的朋友可以參考下

在現(xiàn)實世界中,我們使用畫筆在畫板上進(jìn)行繪畫;在html5 canvas中,我們同樣可以使用canvas的畫筆——CanvasRenderingContext2D對象在canvas上進(jìn)行繪畫。眾所周知,我們的畫筆一般都會與橡皮擦配套使用,以便于糾正繪畫過程中的錯誤并重新繪畫。在html5 canvas中,CanvasRenderingContext2D對象也同樣給我們提供了一個可以永遠(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ū)域中的所有圖形像素。

下面,我們來看一個實際的例子。我們先繪制一個半徑為50px的實心圓,然后使用橡皮擦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的瀏覽器中提示語法錯誤   
  18. if(canvas.getContext){     
  19.     //獲取對應(yīng)的CanvasRenderingContext2D對象(畫筆)   
  20.     var ctx = canvas.getContext("2d");   
  21.        
  22.     //繪制一個以坐標(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)的顯示效果如下:
2016315111842196.png (421×312)

現(xiàn)在,我們使用clearRect()方法對實心圓中以圓心(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的瀏覽器中提示語法錯誤   
  5. if(canvas.getContext){     
  6.     //獲取對應(yīng)的CanvasRenderingContext2D對象(畫筆)   
  7.     var ctx = canvas.getContext("2d");   
  8.        
  9.     //繪制一個以坐標(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)像一個銅錢?)。
2016315111914378.png (417×320)


頁面上我們可以擦除一片頁面上的區(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?!趕快換一個吧!!   
  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>  

2016315111932638.jpg (1235×714)

相關(guān)文章

  • HTML5 Canvas繪制文本及圖片的基礎(chǔ)教程

    這篇文章主要介紹了HTML5 Canvas繪制文本及圖片的基礎(chǔ)教程, 通過Canvas我們就可以用JavaScript制作出程序代碼可以輕松控制的文本和圖片數(shù)據(jù),需要的朋友可以參考下
    2016-03-14
  • 通過HTML5 Canvas API繪制弧線和圓形的教程

    這篇文章主要介紹了通過HTML5 Canvas API繪制弧線和圓形的教程,用JavaScript可以自定義弧度以及設(shè)定起始終末點(diǎn),使用JavaScript需要的朋友可以參考下
    2016-03-14
  • 借助HTML5 Canvas來繪制三角形和矩形等多邊形的方法

    這篇文章主要介紹了借助HTML5 Canvas來繪制三角形和矩形等多邊形的方法,通過文章開頭給的一些屬性及下面三角形和矩形的例子,同理便可得出其他多邊形的畫法,需要的朋友可以
    2016-03-14
  • 使用HTML5 Canvas繪制直線或折線等線條的方法講解

    這篇文章主要介紹了使用HTML5 Canvas繪制直線或折線等線條的方法講解,通過Canvas API我們便可以輕松地使用JavaScript來操作圖形的位置坐標(biāo),需要的朋友可以參考下
    2016-03-14
  • HTML5 canvas實現(xiàn)移動端上傳頭像拖拽裁剪效果

    這篇文章主要為大家詳細(xì)介紹了HTML5 canvas實現(xiàn)移動端上傳頭像拖拽裁剪效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-14
  • html5 canvas移動瀏覽器上實現(xiàn)圖片壓縮上傳

    這篇文章主要為大家詳細(xì)介紹了html5 canvas移動瀏覽器上實現(xiàn)圖片壓縮上傳的相關(guān)方法,提出了解決方法,分享了解決問題的思路,感興趣的小伙伴們可以參考一下
    2016-03-11
  • html5 canvas實現(xiàn)跟隨鼠標(biāo)旋轉(zhuǎn)的箭頭

    這篇文章主要為大家詳細(xì)介紹了html5 canvas實現(xiàn)跟隨鼠標(biāo)旋轉(zhuǎn)的箭頭,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-11
  • HTML5 canvas實現(xiàn)雪花飄落特效

    這篇文章主要為大家詳細(xì)介紹了HTML5 canvas實現(xiàn)雪花飄落特效,效果實現(xiàn)引人入勝,很逼真的動畫效果,感興趣的小伙伴們可以參考一下
    2016-03-08
  • HTML5+Canvas實現(xiàn)日期圓形時鐘特效源碼

    HTML5+Canvas實現(xiàn)日期圓形時鐘特效源碼是一款可以全屏漂浮,帶有日期星期顯示的時鐘代碼,外觀非常漂亮,需要的朋友前來下載源碼
    2016-03-07
  • HTML5 Canvas實現(xiàn)煙花綻放特效

    這是一個款絢麗的HTML5 Canvas動畫,它將模擬的是我們生活中煙花綻放的動畫特效,效果非常逼真,下面我們來簡單分析一下實現(xiàn)這款HTML5煙花特效的過程及代碼,感興趣的小伙
    2016-03-02

最新評論

四会市| 嘉峪关市| 永修县| 甘洛县| 阳高县| 车险| 金湖县| 新平| 永嘉县| 集安市| 林西县| 新闻| 新昌县| 阿合奇县| 永宁县| 濮阳县| 怀来县| 定安县| 囊谦县| 永定县| 城口县| 东兰县| 阳东县| 荆门市| 武威市| 石河子市| 资源县| 仁布县| 呈贡县| 黄平县| 泾川县| 长阳| 建宁县| 武邑县| 瑞金市| 兰考县| 潢川县| 兴安盟| 岐山县| 临朐县| 名山县|