主要是控制圖形共同身為物件都可以使用的屬性
left
: 左邊距離畫布左邊的像素數top
: 頂部距離畫布頂部的像素數fill
: 填充顏色stroke
: 邊框顏色strokeWidth
: 邊框寬度opacity
: 不透明度 (0到1之間)angle
: 旋轉角度 (以度為單位)scaleX
, scaleY
: 水平和垂直縮放比例flipX
, flipY
: 水平和垂直翻轉 (Boolean)selectable
: 是否可選擇 (Boolean)evented
: 是否響應事件 (Boolean)visible
: 是否可見 (Boolean)width
: 矩形寬度height
: 矩形高度rx
: 圓角的水平半徑ry
: 圓角的垂直半徑除了寬高之外,還有額外的rx
、 ry
可以來控制圓角
const rect = new fabric.Rect({
left: 100,
top: 100,
width: 60,
height: 40,
fill: 'red'
});
canvas.add(rect);
radius
: 圓的半徑 ⇛ 半徑多大就可以決定圓的大小啦var circle = new fabric.Circle({
radius: 30,
fill: 'green',
left: 100,
top: 100
});
canvas.add(circle);
width
: 三角形底邊的寬度height
: 三角形的高度var triangle = new fabric.Triangle({
width: 100,
height: 100,
fill: 'yellow',
left: 50,
top: 50
});
canvas.add(triangle);
points
: 定義多邊形頂點的坐標數組var polygon = new fabric.Polygon([
{x: 200, y: 10}, {x: 250, y: 50},
{x: 250, y: 180}, {x: 150, y: 180},
{x: 150, y: 50}
], {
fill: 'blue',
left: 100,
top: 100
});
canvas.add(polygon);
rx
: 橢圓的水平半徑ry
: 橢圓的垂直半徑var ellipse = new fabric.Ellipse({
left: 100,
top: 100
rx: 80,
ry: 40,
fill: 'purple',
});
canvas.add(ellipse);
共用屬性的表格整理在這裡:
類別 | 屬性 | 描述 |
---|---|---|
位置 | left |
左邊距離畫布左邊的像素數 |
top |
頂部距離畫布頂部的像素數 | |
顏色外觀 (填充、邊框色、透明度) | fill |
填充顏色 |
stroke |
邊框顏色 | |
strokeWidth |
邊框寬度 | |
opacity |
不透明度 (0到1之間) | |
外型變化 (角度、縮放、翻轉) | angle |
旋轉角度 (以度為單位) |
scaleX |
水平縮放比例 | |
scaleY |
垂直縮放比例 | |
flipX |
水平翻轉 (Boolean) | |
flipY |
垂直翻轉 (Boolean) | |
物件交互關係 | selectable |
是否可選擇 (Boolean) |
evented |
是否響應事件 (Boolean) | |
visible |
是否可見 (Boolean) |
今日的案例在這裡:
https://codepen.io/merano/pen/KKjXoym
明天再來介紹如何畫其他東西~