konva-label
Version:
基于konvajs实现的图片标注工具,提供简单易用的API接口,支持图片加载、缩放、标注框绘制和编辑等功能。
50 lines (49 loc) • 1.21 kB
TypeScript
import Konva from 'konva';
declare namespace Konvalabel {
interface LabelInfo {
label?: string;
color?: string;
[key: string]: any;
}
interface BboxesItem {
id?: number | string;
label: string;
box: BoxType;
[key: string]: any;
}
type BoxType = [number, number, number, number];
interface KonvaConstructor {
el: string;
onChange?: OnChange;
labelConfig?: LabelConfig;
}
interface LabelConfig {
color?: string;
fillOpacity?: number;
selectOpacity?: number;
strokeWidth?: number;
fontSize?: number;
textGap?: number;
}
interface EmitData {
id: number | string;
label: string;
box: BoxType;
rect: Konva.Rect;
text: Konva.Text;
[key: string]: any;
}
type OnChange = (ChangeParams: any) => void | null;
interface ChangeParams {
type: ChangeType;
data: EmitData[];
}
type ChangeType = 'update' | 'add' | 'delete' | 'init';
interface XYWH {
width: number;
height: number;
x: number;
y: number;
}
}
export default Konvalabel;