Shape 基础图形类
Shape 是所有图形对象的基类,提供了基本的属性和方法。
构造函数
typescript
abstract constructor(config: object)属性
位置和标识
x: number | null- 图形的X坐标y: number | null- 图形的Y坐标name: string | null- 图形的名称type: string- 图形类名称zIndex: number- 图层顺序
状态控制
fixed: boolean | null- 是否固定图层actived: boolean- 是否处于激活状态clicked: boolean- 是否被点击
样式属性
rotateRadius: number- 当前旋转半径rotateAroundCenter: boolean- 是否围绕中心点旋转blendMode: string- 混合模式strokeStyle: string- 描边样式fillStyle: string- 填充样式fillRule: string- 填充规则outline: boolean- 是否显示非透明区域的轮廓
交互控制
canMove: boolean- 是否可移动canRotate: boolean- 是否可旋转canScale: boolean- 是否可缩放canUp: boolean- 是否可上移canRemove: boolean- 是否可删除canClick: boolean- 是否可点击canActive: boolean- 是否可激活canExport: boolean- 是否可导出canSort: boolean- 是否可排序canDo: boolean- 是否可执行操作canFlip: boolean- 是否可翻转
方法
初始化和配置
init(): Promise<void>- 初始化图形set(config: object): void- 设置图形的属性
渲染和状态
render(): void- 手动触发渲染save(): object- 保存当前状态,返回包含状态数据的对象restore(snap: object): void- 恢复状态
事件处理
emit(event: string, data: any): Promise<void>- 触发事件on(event: string | string[], listener: Function): void- 添加事件监听off(event: string | string[], listener: Function): void- 移除事件监听removeAlllistener(event: string): void- 移除所有监听器
变换操作
move(coords: Array<{x: number, y: number}>, offset: {x: number, y: number}): boolean- 图形移动事件处理scale(zoom: number, coords: Array<{x: number, y: number}>): void- 图形缩放事件处理rotate(rad: number, coords: Array<{x: number, y: number}>): boolean- 图形旋转事件处理
导出和序列化
export(param?: object): Promise<Blob | string>- 导出图形toJson(config?: object): string- 导出为JSONrelative(): object- 获取相对位置信息
激活状态管理
active(): void- 激活图形deactivate(flag?: boolean): void- 取消激活toggle(): boolean- 切换激活状态_active(status: boolean, flag?: boolean): void- 内部激活处理
位置和边界
getRotateCoords(): Array<{x: number, y: number}>- 获取旋转坐标getRotateBound(): Bound- 获取旋转边界ColorBound(): object- 获取颜色边界
层级管理
getIndex(): number- 获取当前索引moveIndex(target: number, action?: boolean, force?: boolean): number- 移动到指定索引moveTop(action?: boolean): number- 移动到顶层moveBottom(action?: boolean): number- 移动到底层forward(action?: boolean): number- 前移一层backward(action?: boolean): number- 后移一层
上下文和舞台
stage(): Stage- 获取所属舞台getContext(): any- 获取渲染上下文bindContext(context: any): void- 绑定渲染上下文
其他操作
tap(coords: Array<{x: number, y: number}>): boolean- 图形Tap事件处理up(coords: Array<{x: number, y: number}>): void- 图形点击结束后事件的处理destroy(flag?: boolean): void- 销毁图形,从舞台中移除props(options?: object): object- 获取图形当前状态的数据对象