npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

tagging-master

v1.0.5

Published

Label graphics in pictures

Readme

tagging mster

用于图片标注

  • 支持绘制 矩形(Rect)、多边形(Polygon)、圆形(Circle)、椭圆形(Ellipse)、点(Dot);后续考虑支持更多图形。
  • 支持放大缩小画布、平移画布

demo

安装

npm i tagging-master

使用

<div style="height:600px">
  <canvas id="canvas"></canvas>
</div>
// js
import { TaggingMaster } from 'tagging-master'

const options = {
  canvasId: 'canvas',
  tools: [
    {
      name: 'uuid1';
      type: 'rect';
    },
    {
      name: 'uuid2';
      type: 'polygon';
    },
    ...
  ]
}

const tm = new TaggingMaster(options);

tm.loadImage(imageUrl);

tgm.setTool('uuid1') //在图片上画矩形
tgm.setTool('uuid2') //在图片上画多边形

options: TaggingMasterOptions

enum DrawType {
  Rect = 'rect',
  Polygon = 'polygon',
  Ellipse = 'ellipse',
  Circle = 'circle',
  Dot = 'dot'
}

type ToolOption = {
  name: string;
  type: DrawType;
  multiple?: boolean;
}

type TaggingMasterOptions = {
  canvasId: string;
  tools?: Array<ToolOption>;
}

方法

resetTools(tools: ToolOption[]): void; // 重置并替换所有标注工具

loadImage(url: string): Promise; // 加载图片

setTool(toolName: string): void; // 设置工具、设置后可以画图

loadFromTaggingData(taggingData: TaggingData): Promise; // 加载标记数据

getTaggingData(): (RectJson | EllipseJson | PolygonJson | CircleJson | DotJson | NoneJson)[]; // 获取标记数据

showAll(): void; // 显示当前所有标记图形

hideAll(): void; // 隐藏当前所有标记图形

show(name: string): void; // 显示指定标记图形

hide(name: string): void; // 显示指定标记图形

zoomOut(): void; // 缩小画布

zoomIn(): void; // 放大画布

事件

tm.on('eventName', () => {console.log('触发了eventName 事件')})

事件名

  • 'tagging:finish' 完成一个标注图形后触发

license

MIT