📜  Fabric.js 图像类完整参考(1)

📅  最后修改于: 2023-12-03 15:15:00.967000             🧑  作者: Mango

Fabric.js 图像类完整参考

简介

Fabric.js 是一个非常流行的用于开发交互式 Web 应用的基于 canvas 元素的 JavaScript 库。其优点是提供丰富的 API,使开发者能够轻松地创建交互性高、性能好的绘图、动画和其他高级图形应用。

本文将会介绍 Fabric.js 图像类的完整参考,包括对于图形对象的基础操作、属性和方法的详细说明。无论您是已经掌握了 Fabric.js,还是初学者,都可以从中找到对自己有用的内容。

基础操作

Fabric.js 提供了以下几种基础操作的方法:在画布上添加和删除图形,设置对象的位置和大小,旋转和缩放对象以及更改对象的颜色。

添加和删除图形

要向画布添加图形对象,可以使用以下方法:

canvas.add(object);

这个方法接受一个对象作为参数,可以是继承自 fabric.Object 类的任何对象类型。

要从画布中删除图形对象,可以使用以下方法:

canvas.remove(object);

这个方法接受一个对象作为参数,表示要删除的对象。

设置对象的位置和大小

要设置对象的位置和大小,可以使用以下几种方法:

object.set('left', x);      // 设置对象的左侧位置
object.set('top', y);       // 设置对象的顶部位置
object.set('width', w);     // 设置对象的宽度
object.set('height', h);    // 设置对象的高度
object.set('angle', a);     // 设置对象的旋转度数
object.set('scaleX', sx);   // 设置对象在水平方向上的缩放比例
object.set('scaleY', sy);   // 设置对象在垂直方向上的缩放比例
旋转和缩放对象

要旋转对象,可以使用以下方法:

object.rotate(degrees);    // degrees 表示旋转角度

要缩放对象,可以使用以下方法:

object.scale(scaleX, scaleY);   // scaleX 和 scaleY 表示在水平和垂直方向上的缩放比例
更改对象的颜色

要更改对象的颜色,可以使用以下方法:

object.set('fill', color);    // 设置填充颜色
object.set('stroke', color);  // 设置描边颜色
属性和方法

Fabric.js 图像类提供了丰富的属性和方法,包括路径、文字、形状和图像。在以下部分中,我们将对于常见的属性和方法进行说明。

fabric.Path

fabric.Path 类表示一个路径,可以用于绘制自由形状、线条等。

属性

| 属性名 | 类型 | 描述 | | ----------- | ----- | --------------------- | | path | string | 定义路径的 SVG 字符串 | | fill | string | 填充颜色 | | stroke | string | 描边颜色 | | strokeWidth | int | 描边宽度 | | opacity | float | 不透明度,范围是 0 到 1 之间 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 |

方法

fabric.Path 类提供了以下方法:

| 方法名 | 描述 | | ------------- | ------------------- | | animate() | 动画 | | clone() | 复制对象 | | getCoords() | 返回路径的顶点坐标 | | getBoundingRect() | 返回路径的边界框 |

fabric.Text

fabric.Text 类表示一段文本,可以设置字体、字体大小、对齐方式等。

属性

| 属性名 | 类型 | 描述 | | ----------- | ------ | --------------------------------------- | | text | string | 要呈现的文本内容 | | fontFamily | string | 字体名称 | | fontSize | int | 字体大小 | | fontWeight | int | 字体粗细,值为 100 到 900 之间只能是 100 的倍数 | | textAlign | string | 对齐方式,可以取值为 'left'、'center' 和 'right' | | fill | string | 填充颜色 | | stroke | string | 描边颜色 | | strokeWidth | int | 描边宽度 | | opacity | float | 不透明度,范围是 0 到 1 之间 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 |

方法

fabric.Text 类提供了以下方法:

| 方法名 | 描述 | | -------------- | ------------------------- | | getTextWidth() | 返回文本所需的宽度 | | getTextHeight() | 返回文本所需的高度 | | setWidth() | 设置文本的宽度 | | setHeight() | 设置文本的高度 |

fabric.Rect

fabric.Rect 类表示一个矩形。

属性

| 属性名 | 类型 | 描述 | | ----------- | ----- | ------------- | | width | int | 宽度 | | height | int | 高度 | | fill | string | 填充颜色 | | stroke | string | 描边颜色 | | strokeWidth | int | 描边宽度 | | opacity | float | 不透明度,范围是 0 到 1 之间 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 |

方法

fabric.Rect 类提供了以下方法:

| 方法名 | 描述 | | ----------------- | -------------------- | | setOpacity() | 设置不透明度,取值范围是 0 到 1 之间 | | setStrokeWidth() | 设置描边宽度 | | setFill() | 设置填充颜色 | | setStroke() | 设置描边颜色 |

fabric.Circle

fabric.Circle 类表示一个圆形。

属性

| 属性名 | 类型 | 描述 | | ----------- | ----- | ------------- | | radius | int | 半径 | | fill | string | 填充颜色 | | stroke | string | 描边颜色 | | strokeWidth | int | 描边宽度 | | opacity | float | 不透明度,范围是 0 到 1 之间 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 |

方法

fabric.Circle 类提供了以下方法:

| 方法名 | 描述 | | ----------------- | -------------------- | | setOpacity() | 设置不透明度,取值范围是 0 到 1 之间 | | setStrokeWidth() | 设置描边宽度 | | setFill() | 设置填充颜色 | | setStroke() | 设置描边颜色 |

fabric.Triangle

fabric.Triangle 类表示一个三角形。

属性

| 属性名 | 类型 | 描述 | | ----------- | ----- | ------------- | | width | int | 宽度 | | height | int | 高度 | | fill | string | 填充颜色 | | stroke | string | 描边颜色 | | strokeWidth | int | 描边宽度 | | opacity | float | 不透明度,范围是 0 到 1 之间 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 |

方法

fabric.Triangle 类提供了以下方法:

| 方法名 | 描述 | | ----------------- | -------------------- | | setOpacity() | 设置不透明度,取值范围是 0 到 1 之间 | | setStrokeWidth() | 设置描边宽度 | | setFill() | 设置填充颜色 | | setStroke() | 设置描边颜色 |

fabric.Image

fabric.Image 类表示一张图片。

属性

| 属性名 | 类型 | 描述 | | ------------ | ----- | ---------------- | | src | string | 图片的 URL | | width | int | 图片宽度 | | height | int | 图片高度 | | filters | array | 应用在图片上的滤镜 | | scaleX | float | 水平缩放比例 | | scaleY | float | 垂直缩放比例 | | opacity | float | 不透明度 | | angle | float | 旋转角度 | | left | float | 左侧位置 | | top | float | 顶部位置 | | crossOrigin | string | 解决跨域访问图片的问题 |

方法

fabric.Image 类提供了以下方法:

| 方法名 | 描述 | | ---------- | ------- | | scale() | 缩放图片对象 | | setSrc() | 设置图片的 URL |

总结

在本文中,我们介绍了 Fabric.js 图像类的完整参考,包括基础操作、常用属性和方法。了解这些知识,可以帮助开发者更好地使用 Fabric.js 创建高性能和交互性强的绘图应用。如果您对 Fabric.js 还不熟悉,可以查看其官方文档,进一步提高自己的技能水平。