Skip to content

如何使用插件

ImageMark 的功能通过插件系统提供,除核心的画布拖动和缩放外,其他功能均以插件形式按需加载。

内置插件

插件功能API
Shape图形管理、鼠标绘制详情
Selection图形选中(单选/多选)详情
History撤销/重做详情
Shortcut快捷键详情
Minimap小地图详情

ImageMark 默认自动加载所有内置插件。如不需要,可以通过 unuseDefaultPlugin 取消。

使用方式

通过构造参数(推荐)

大多数情况通过 pluginOptions 传入配置即可:

ts
import ImageMark from 'mark-img'

const imgMark = new ImageMark({
	el: '#container',
	src: './example.jpg',
	pluginOptions: {
		shape: {
			shapeList: [],
			shapeOptions: {
				// shape 配置
			},
		},
		selection: {
			selectionActionOptions: {
				// selection action 配置
			},
		},
	},
})

class 方式

ts
import ImageMark, { SelectionPlugin } from 'mark-img'

// 在类上注册(全局生效)
ImageMark.usePlugin(SelectionPlugin, {
	// plugin options
})

实例方式

ts
const imgMark = new ImageMark({
	el: '#container',
	src: './example.jpg',
})

// class 方式
imgMark.addPlugin(SelectionPlugin, {
	// plugin options
})

// 函数方式
imgMark.addPlugin(imageMarkInstance => {
	return new SelectionPlugin(imageMarkInstance, {
		// plugin options
	})
})

获取插件实例

ts
// 便捷方法
const shapePlugin = imgMark.getShapePlugin()
const selectionPlugin = imgMark.getSelectionPlugin()
const historyPlugin = imgMark.getHistoryPlugin()
const shortcutPlugin = imgMark.getShortcutPlugin()

移除插件

ts
imgMark.removePlugin(SelectionPlugin)

更多信息请查看 Plugin 类 API