摘要:畫圓首先來理解下弧度制,以下內(nèi)容摘自百度百科。用弧長與半徑之比度量對應(yīng)圓心角角度的方式,叫做弧度制,用符號表示,讀作弧度。的函數(shù)如下,,參數(shù)意義分別為圓心圓心半徑開始的角度結(jié)束的角度是否逆時針,這里的角度就是采用弧度制。
html5Canvas畫圓
首先來理解下弧度制,以下內(nèi)容摘自百度百科。
用弧長與半徑之比度量對應(yīng)圓心角角度的方式,叫做弧度制,用符號rad表示,讀作弧度。等于半徑長的圓弧所對的圓心角叫做1弧度的角。由于圓弧長短與圓半徑之比,不因為圓的大小而改變,所以弧度數(shù)也是一個與圓的半徑無關(guān)的量。角度以弧度給出時,通常不寫弧度單位。另外一種常用的度量角的方法是角度制?;《戎频木杈驮谟诮y(tǒng)一了度量弧與角的單位,從而大大簡化了有關(guān)公式及運算,尤其在高等數(shù)學中,其優(yōu)點就格外明顯。---《百度百科》
HTML5中canvas畫曲線的函數(shù)有4個,分別是arc,arcTo,quadraticCurveTo,bezierCurveTo.其中最簡單的是arc,
arc可以畫一個完整的圓,也可以畫一段弧線。
arc的函數(shù)如下,arc(x, y, radius, startAngle, endAngle, anticlockwise),參數(shù)意義分別為
圓心x、圓心y、半徑、開始的角度、結(jié)束的角度、是否逆時針,這里的角度就是采用弧度制。
先上個源碼畫一個標準的圓,代碼如下
gf
效果如下:
關(guān)鍵在于參數(shù)中的startAngle, endAngle,代表弧度的起始,一個圓角度制是360度,弧度制就是2π,所以一個完整的圓是從0到2π,也就是上面所示的0和2*Math.PI。
那么接下來 我們畫一端弧,代碼如下,
context.arc(195,150,70,0,0.5*Math.PI); context.stroke();
效果如下,
0.5*Math.PI就是四分之一的圓,arc的0度就是數(shù)學上常用的0度,但是角度默認是順時針的,與數(shù)學上的相反,由于canvas坐標與數(shù)學坐標相反,所以顯示右下區(qū)間的弧段。
如果改變最后一個參數(shù)anticlockwise為true,則顯示如下所示
所以弧線的弧線的繪制方向就變成逆時針,畫了四分之三的圓弧。
context.arc(195,150,70,-0.5*Math.PI,0.5*Math.PI,true); context.stroke();
以上代碼畫一個左半圓弧,如圖
所以其他不同的弧線可以自己調(diào)整。
最后另外幾個函數(shù)是用來畫切線圓弧以及貝塞爾曲線的,有興趣可以去研究下
context.moveTo(20,20); context.lineTo(100,20); context.arcTo(150,20,150,70,50); context.lineTo(150,120); context.stroke(); context.moveTo(20,20); context.quadraticCurveTo(20,100,200,20); context.stroke(); context.moveTo(20,20); context.bezierCurveTo(20,100,200,100,200,20); context.stroke();
以上代碼效果如下所示
好了,目前僅僅做學習記錄。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/52170.html
摘要:但是在安卓手機中會有變形的情況存在,渲染方面確實安卓手機干不過畢竟安卓版本眾多,還有什么的線等等的坑,都是能完美運行,安卓總得找方法。當使用做單位,出來的圓是不會變形的,可能是安卓在計算過程中產(chǎn)生誤差或者有什么其他因素造成的渲染問題。 罪魁禍首 i{ display inline-block width .08rem height .08r...
摘要:但是在安卓手機中會有變形的情況存在,渲染方面確實安卓手機干不過畢竟安卓版本眾多,還有什么的線等等的坑,都是能完美運行,安卓總得找方法。當使用做單位,出來的圓是不會變形的,可能是安卓在計算過程中產(chǎn)生誤差或者有什么其他因素造成的渲染問題。 罪魁禍首 i{ display inline-block width .08rem height .08r...
摘要:代碼畫圓圓心位置半徑應(yīng)用在上面繪制的矩形內(nèi)繪制一個圓。字體類型檢查文檔以獲取支持的字體字體比例指定字體大小常規(guī)的東西,如顏色,粗細,線型等。應(yīng)用我們將在圖像上寫白色的幾個字母代碼 Drawing Functions in OpenCV 學習目標函數(shù) cv2.line(), cv2.circle() , cv2.rectangle(), cv2.ellipse(), cv2.putTe...
1.canvas圖片預(yù)加載及進度條的實現(xiàn) /*star *loading模塊 *實現(xiàn)圖片的預(yù)加載,并顯示進度條 *參數(shù):圖片數(shù)組對象,加載完成的回調(diào)函數(shù) */ function loadImages(sources,callback){ var loadedImages = 0; var numImages = 0; ctx.font=14px ...
閱讀 682·2021-11-25 09:43
閱讀 1688·2021-11-18 10:02
閱讀 1067·2021-10-15 09:39
閱讀 1918·2021-10-12 10:18
閱讀 2151·2021-09-22 15:43
閱讀 795·2021-09-22 15:10
閱讀 2110·2019-08-30 15:53
閱讀 1011·2019-08-30 13:00