通过上一节的努力,我们已经拥有了一个可以随意挥毫泼墨的画布,下面就可以进行实际的物体绘制了。

一、基础介绍

画家作画 我们要绘制某个物体,那不就是在画布的某个位置(top、left值)根据某些属性(宽高大小等)画上某个物体(比如矩形、多边形、图片或者路径等等)吗,并且之后还可以对每个物体进行一些交互操作(主要就是平移+旋转+缩放)。这么一说,是不是好像已经把物体的挺多共性给抽离出来呢(真的是万物皆对象啊,前端同学在 canvas 中尤其能体会到这个思想)。那么,自然而然的我们就需要抽象出一个物体基类(FabricObject),其它物体(如 Rect)只需要继承这个物体基类,就能够很方便的拥有一些通用能力,对于日后的维护和扩展也都是很友好的,看下面的代码理解起来应该会更清晰👇🏻:

二、基础图形

三、绘制文字

四、特殊对象