初遇canvas之一

2021-08-21 14:16:48 字數 1157 閱讀 3199

html中的元素canvas只支援一種原生的圖形繪製:矩形。所有其他的圖形的繪製都至少需要生成一條路徑

1.繪製矩形

canvas提供了三種方法繪製矩形:

---->繪製乙個填充的矩形(填充色預設為黑色)

fillrect(x, y, width, height)

---->繪製乙個矩形的邊框(預設邊框為:一畫素實心黑色)

strokerect(x, y, width, height)

---->清除指定矩形區域,讓清除部分完全透明。    

clearrect(x, y, width, height)

x與y指定了在canvas畫布上所繪製的矩形的左上角(相對於原點)的座標。

width和height設定矩形的尺寸。(存在邊框的話,邊框會在width上佔據乙個邊框的寬度,height同理)

2.strokerect時,邊框畫素渲染問題

按理渲染出的邊框應該是1px的,

canvas在渲染矩形邊框時,邊框寬度是平均分在偏移位置的兩側。

context.strokerect(10,10,50,50)

:邊框會渲染在10.5 和 9.5之間,瀏覽器是不會讓乙個畫素只用自己的一半的

相當於邊框會渲染在9到11之間

context.strokerect(10.5,10.5,50,50)

:邊框會渲染在10到11之間

3.新增樣式和顏色

fillstyle   :設定圖形的填充顏色。

strokestyle :設定圖形輪廓的顏色。

預設情況下,線條和填充顏色都是黑色(css 顏色值 #000000)

linewidth : 這個屬性設定當前繪線的粗細。屬性值必須為正數。

描述線段寬度的數字。 0、 負數、 infinity 和 nan 會被忽略。

預設值是1.0。

4.linewidth & 覆蓋渲染

5.linejoin

設定線條與線條間接合處的樣式(預設是 miter)

round : 圓角

bevel : 斜角

miter : 直角

注意:canvas有預設的寬高,如果要指定的話,就在標籤中指定,不要在標籤外的css樣式中指定,因為在標籤外的css樣式中指定高寬的話,雖然能生效,但是會造成canvas中內容的拉伸或者是壓縮。

初遇設計模式

今天開始學設計模式了。用的是程杰老師寫的 大話設計模式 在網上搜了一下這位老師的資料,簡單的了解一下這位大牛。那麼什麼是設計模式?design pattern 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易...

1 初遇貪心

以題著手,先上題。題意大致為,n堆果子,每一次合併兩堆果子為一堆,消耗的體力等於兩堆果子的重量之和。直到經過 n 1 次合併之後,就只剩下一堆了,要求消耗體力最少。例如有 3堆果子,數目依次為 1,2,9。可以先將 1 2堆合併,新堆數目為3,耗費體力為3 接著,將新堆與原先的第三堆合併,又得到新的...

初遇C語言

壹 知識總結 第二章 c資料型別 1 int定義整數量 float定義單精度浮點數量 double定義雙精度浮點數量 char定義字元型量。2 讀程式都要從main 入口,然後從最上面順序往下讀 碰到迴圈做迴圈,碰到選擇做選擇 有且只有乙個main函式。3 注釋不可以巢狀,如int a 1,int ...