首頁 > web前端 > H5教程 > 主體

html5 canvas裡繪製橢圓形並保持線條粗細均勻的技巧_html5教學技巧

WBOY
發布: 2016-05-16 15:49:54
原創
1404 人瀏覽過

Canvas裡繪製橢圓是一個很常見的需求,比較新的HTML Canvas 2D Context W3C草案裡面新增了ellipse方法繪製橢圓,但是目前大多數瀏覽器還沒有實現該方法,所以需要用arc或arcTo方法結合scale變形來繪製橢圓。

範例程式碼:

複製程式碼
程式碼如下:


程式碼如下:


<script> <br />var ctx = documentquerySelector('canvas')getContext('2d'); <br />ctxlineWidth = "10"; <br />ctxscale(1,2); <br />ctxarc(150,150,100,0,MathPI*2,false); </script>
ctxstroke();

有點不對,因為線條粗細不均勻了,stroke也被scale影響了。
要修正這個問題,就要一點點小技巧了。

範例程式碼:
複製程式碼

程式碼如下:



程式碼如下:



程式碼如下:


程式碼如下:

程式碼如下:

程式碼如下:程式碼如下: <script> <🎜>var ctx = documentquerySelector('canvas')getContext('2d'); <🎜>ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth =ctxlineWidth = "10"; <🎜>ctxsave(); <🎜>ctxscale(1,2); <🎜>ctxarc(150,150,100,0,MathPI*2,false); <🎜>ctxrestore(); <🎜>ctxstroke(); ; <🎜></script> [/code] 現在均勻了,非常完美。 技巧就在先save保存畫布狀態,然後縮放、呼叫路徑指令,再restore恢復畫布狀態,再stroke繪製出來。 關鍵點是先save後縮放,先restore後stroke.
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板