首頁 >web前端 >H5教程 >HTML5 canvas繪製五角星的方法

HTML5 canvas繪製五角星的方法

不言
不言原創
2018-07-03 10:18:463545瀏覽

這篇文章主要介紹了關於HTML5 canvas繪製五角星的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

5ba626b379994d53f7acf72a64f9b697

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b是HTML5中新增的標籤,用於繪製圖形,實際上,這個標籤和其他的標籤一樣,其特殊之處在於該標籤可以獲得一個CanvasRenderingContext2D對象,我們可以透過JavaScript腳本來控制該物件進行繪圖。

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b只是一個繪製圖形的容器,除了id、class、style等屬性外,還有height和width屬性。在5ba626b379994d53f7acf72a64f9b697>元素上繪圖主要有三步:

1.取得5ba626b379994d53f7acf72a64f9b697元素對應的DOM對象,這是一個Canvas物件;
2.呼叫Canvas物件的getContext( )方法,得到一個CanvasRenderingContext2D物件;
3.呼叫CanvasRenderingContext2D物件進行繪圖。

透過對五角星分析,我們可以確定各個頂點座標的規律,這裡需要注意的一點是:在canvas中,Y軸的方向是向下的。

對應程式碼如下:

var canvas = document.getElementById("canvas");   
    var context = canvas.getContext("2d");   
    context.beginPath();   
    //设置是个顶点的坐标,根据顶点制定路径 
    for (var i = 0; i < 5; i++) {   
        context.lineTo(Math.cos((18+i*72)/180*Math.PI)*200+200,   
                        -Math.sin((18+i*72)/180*Math.PI)*200+200);   
        context.lineTo(Math.cos((54+i*72)/180*Math.PI)*80+200,   
                        -Math.sin((54+i*72)/180*Math.PI)*80+200);   
    }   
    context.closePath();   
    //设置边框样式以及填充颜色 
    context.lineWidth="3";   
    context.fillStyle = "#F6F152";   
    context.strokeStyle = "#F5270B";   
    context.fill();   
    context.stroke();

最後效果:

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

html5使用canvas實現跟隨遊標跳動的火焰效果

使用canvas畫「哆啦A夢」時鐘的程式碼

以上是HTML5 canvas繪製五角星的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn