首頁  >  文章  >  web前端  >  HTML5 canvas基本繪圖之繪製五角星

HTML5 canvas基本繪圖之繪製五角星

黄舟
黄舟原創
2018-05-24 15:25:439499瀏覽

5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b是HTML5中新增的標籤,用於繪製圖形,實際上,這個標籤和其他的標籤一樣,其特殊之處在於該標籤可以取得一個CanvasRenderingContext2D對象,我們可以透過JavaScript腳本來控制該物件進行繪圖。
5ba626b379994d53f7acf72a64f9b697c2caaf3fc160dd2513ce82f021917f8b只是一個繪製圖形的容器,除了id、class、style等屬性外,還有height和width屬性。在5ba626b379994d53f7acf72a64f9b697>元素上繪圖主要有三步:
1. 取得5ba626b379994d53f7acf72a64f9b697元素對應的DOM對象,這是一個Canvas物件;
2.呼叫Canvas物件的getContext()方法,得到一個CanvasRenderingContext2D物件;
3.呼叫CanvasRenderingContext2D物件進行繪圖。

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

HTML5 canvas基本繪圖之繪製五角星

對應程式碼如下:

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();

最後效果:

HTML5 canvas基本繪圖之繪製五角星

 以上就是HTML5 canvas基本繪圖之繪製五角星 的內容,更多相關內容請關注PHP中文網(www.php.cn)! 

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