canvas學習筆記(畫圓)

2021-10-06 08:35:55 字數 868 閱讀 6130

canvas是html5標籤,用來繪製影象。該標籤是容器,我們通過js指令碼來繪製圖形。

的簡單例項(畫個圓,面試遇到過):

1.首先我們在body中宣告乙個canvas

2.然後通過js來繪製圓形

var x=document.getelementbyid("yuan")

var y=x.getcontext("2d")

y.fillstyle="red"

y.beginpath()

y.arc(100,100,50,0,2*math.pi,true)

y.closepath()

y.fill()

其中:

getcontext() 方法返回乙個用於在畫布上繪圖的環境。當前唯一的合法值是 "2d",該物件匯出乙個二維繪圖 api

fillstyle用來設定或返回用於填充繪畫的顏色、漸變或模式

beginpath() 方法開始一條路徑,或重置當前的路徑。

closepath() 方法建立從當前點到開始點的路徑。

fill() 方法填充當前的影象(路徑)。預設顏色是黑色。

arc() 方法建立弧/曲線(用於建立圓或部分圓)  前兩個引數是中心點座標,第三個引數是半徑,第四個引數是起始角,第五個引數是結束角,最後乙個引數可不填,true為逆時針,false為順時針。

另外,什麼時候需要用呼叫beginpath()呢?

beginpath()會產生一條新路徑,如果不呼叫該方法,永遠只會在一條路徑上繪製

而closepath()會閉合這條beginpath()開始的路徑,而不會再產生一條新路徑,所以如果要產生新的路徑  必須再呼叫beginpath()

Canvas非覆蓋畫圓環扇形

需求最優解 嘗試丟擲問題 基本都是畫餅狀然後中心覆蓋乙個圓,可是我需要的是透明非覆蓋的乙個圓環扇形整體,動手吧。嘗試的辦法有以下幾種 畫兩個同角度的餅狀扇形,利用source in source out xor去重的功能,填充非重疊部分。還是畫兩個餅狀扇形,然後利用奇偶環繞fill evdodd 填...

canvas學習筆記

1 canvas 元素a 元素有乙個叫做 getcontext 的方法,這個方法是用來獲得渲染上下文和它的繪畫功能,通過簡單的測試getcontext 方法的存在,指令碼可以檢查程式設計支援性var canvas document.getelementbyid tutorial if canvas....

canvas學習筆記

canvas是html5中的新功能,它是一塊,在你開闢的空間內部用 畫圖。而建立畫布和畫圖是需要一些步驟的 canvas是布 context是各種筆 先看乙個簡單的 瀏覽器不支援canvas 每乙個我們要進行的canvas操作都必須有獲取畫布,和獲取畫布內容的操作。然後還有乙個問題就是,我們要預防老...