Types
ts
export type PluginNewCall = (
imageMarkInstance: ImageMark,
pluginOptions?: PluginOptions
) => Plugin静态方法
usePlugin
ts
// 使用插件
usePlugin(plugin: typeof Plugin, pluginOptions?: PluginOptions): ImageMarkunusePlugin
ts
// 取消使用插件
unusePlugin(plugin: typeof Plugin): ImageMarkhasPlugin
ts
// 检查是否使用了插件
hasPlugin(plugin: typeof Plugin): booleanuseDefaultPlugin
使用默认插件,包含内置的 shape 和 selection 插件
ts
useDefaultPlugin(): voidunuseDefaultPlugin
ts
// 取消使用默认插件
unuseDefaultPlugin(): void实例方法
resize
ts
// 容器大小改变时触发
resize(): voidrerender
ts
// 重新渲染时触发
rerender(): voiddestroy
ts
// 销毁实例
destroy(): voidaddDefaultAction
ts
// 添加实例默认动作,目前默认有画布缩放和移动两个动作
addDefaultAction(): ImageMarkremoveDefaultAction
ts
// 移除实例默认动作
removeDefaultAction(): ImageMarkaddStageLmbDownMoveing
ts
// 添加画布移动
addStageLmbDownMoveing(): ImageMarkremoveStageLmbDownMoveing
ts
// 移除画布移动
removeStageLmbDownMoveing(): ImageMarkaddStageMouseScale
ts
// 添加画布缩放
addStageMouseScale(): ImageMarkremoveStageMouseScale
ts
// 移除画布缩放
removeStageMouseScale(): ImageMarkmoveTo
ts
export type Position =
| 'left-top'
| 'right-top'
| 'left-bottom'
| 'right-bottom'
| 'top'
| 'bottom'
| 'left'
| 'right'
| 'center'
// 移动到指定位置
moveTo(position: Position): ImageMarkmove
ts
export type ArrayPoint = [number, number]
// 移动到指定坐标
move(point: ArrayPoint): ImageMarkstartSuccessiveMove
ts
// 开始连续移动
startSuccessiveMove(point: ArrayPoint): ImageMarkmoveSuccessive
ts
// 连续移动
moveSuccessive(point: ArrayPoint): ImageMarkendSuccessiveMove
ts
// 停止连续移动
endSuccessiveMove(): ImageMarkscale
ts
// 缩放画布
scale(
direction: 1 | -1, // 1 放大,-1 缩小
point: ArrayPoint | 'left-top' | 'center', // 缩放点
reletiveTo: 'container' | 'image' = 'container', // 相对于谁来缩放
newScale?: number // 新的缩放比例,有此值直接按照这个比例缩放
): ImageMarkscaleTo
ts
// 缩放到指定比例
scaleTo(
options: [ImageMarkOptions['initScaleConfig']](/api/constructor-options#initscaleconfig),
point: ArrayPoint | 'left-top' | 'center', // 缩放点
reletiveTo: 'container' | 'image' = 'container' // 相对于谁来缩放
): ImageMarksetMinScale
ts
export type InitialScaleSize = 'fit' | 'original' | 'width' | 'height' | 'cover'
// 设置最小缩放比例
setMinScale(minScale: number|InitialScaleSize): ImageMarksetMaxScale
ts
// 设置最大缩放比例
setMaxScale(maxScale: number|InitialScaleSize): ImageMarkgetCurrentScale
ts
// 获取当前缩放比例
getCurrentScale(): numberon
绑定实例事件,目前实例可监听的事件参考文档 事件
ts
on(...rest: any): void // 参考 eventemitter3 的 on 方法off
ts
// 取消绑定实例事件
off(...rest: any): void // 参考 eventemitter3 的 off 方法setImageFullOfContainer
ts
// 设置图片覆盖容器
setImageFullOfContainer(enable: boolean): ImageMarksetEnableDrawShapeOutOfImg
ts
// 设置绘制是否能超出图片
setEnableDrawShapeOutOfImg(enable: boolean): ImageMarksetEnableMoveShapeOutOfImg
ts
// 设置移动是否能超出图片
setEnableMoveShapeOutOfImg(enable: boolean): ImageMarksetEnableEditShapeOutOfImg
ts
// 设置编辑是否能超出图片
setEnableEditShapeOutOfImg(enable: boolean): ImageMarksetEnableShapeOutOfImg
ts
// 设置形状是否能超出图片,包含所有的动作,比如移动、绘制、编辑
setEnableShapeOutOfImg(enable: boolean): ImageMarkinitPlugin
ts
// 实例化插件
initPlugin(plugin: typeof Plugin|PluginNewCall, pluginOptions?: PluginOptions): ImageMarkaddPlugin
ts
// 添加实例上的插件,目前和 `initPlugin` 效果一致
addPlugin(plugin: typeof Plugin|PluginNewCall, pluginOptions?: PluginOptions): ImageMarkremovePlugin
ts
// 移除实例上的插件
removePlugin(plugin: typeof Plugin): ImageMarkgetShapePlugin
ts
// 获取实例上的 `shape` 插件实例
getShapePlugin(): ShapePlugin | nullgetSelectionPlugin
ts
// 获取实例上的 `selection` 插件实例
getSelectionPlugin(): SelectionPlugin | nullgetHistoryPlugin
ts
// 获取实例上的 `history` 插件实例
getHistoryPlugin(): HistoryPlugin | nullgetShortcutPlugin
ts
// 获取实例上的 `shortcut` 插件实例
getShortcutPlugin(): ShortcutPlugin | nullsetReadonly
ts
// 设置实例的只读状态
setReadonly(readonly: boolean): ImageMark