@likg/brush
v1.0.1
Published
画笔工具
Downloads
1
Readme
概述
@likg/brush
基于 canvas 实现,主要提供画笔相关的常用方法,有关画板工具栏的布局,请自行根据产品需求设计。
本库兼容【PC】端和【Mobile】端,后续会不间断地更新和完善。
提示:如果你想搞懂实现原理,欢迎阅读我在稀土掘金的文章:浅谈 js+canvas 实现画板工具 >>
安装
$ pnpm install @likg/brush
使用
import Brush from '@likg/brush';
const brush = new Brush(BrushOptions)
APIs
mount(options: BrushMountOptions)
:挂载画笔destroy()
:卸载画笔clear()
:清空画板setBrushThickness(thickness: number)
:设置画笔粗细setBrushColor(color: string)
:设置画笔颜色undo()
:撤销(上一步)redo()
:重做(下一步)getHistories()
:获取历史纪录saveToImage(options?: BrushImageOptions)
:保存图片setEraserStatus(status: boolean)
:设置橡皮擦状态
Typings
BrushOptions
type BrushOptions = {
/** ID */
id?: string;
/** 画笔颜色(初始) */
color?: string;
/** 画笔粗细(初始) */
thickness?: number;
/** 生命周期内临时保留画板内容 */
storage?: boolean;
/** 绘画记录·最大长度(默认值 50) */
maxHistoriesLength?: number;
/** 开始绘制回调 */
onDrawBegin?: () => void;
/** 结束绘制回调 */
onDrawEnd?: () => void;
}
BrushMountOptions
type BrushMountOptions = {
/** 目标元素 */
target?: HTMLElement;
}
BrushImageOptions
type BrushImageOptions = {
type: string;
filename: string;
quality: any;
}