1.0.35 • Published 1 year ago

@ap25/canvas-select v1.0.35

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

canvas-select

A lightweight image annotation javascript library that supports rectangles, polygons, points, polylines, circles, and re-editing, making image annotation easier.

What's New?

Added annotate functionality on right click of mouse. Now user can scroll top to bottom and left to right (Key: shift + mousewheel) and also zoom-in/out using key: ctrl + mousewheel. Improved zoom with panning. Added scrollbar to scroll page after zoom. Allow re-size rectangle. You can also pass shortcut key to delete annotate data. User can also make connectivity between ractangles. Connected line will automatically adjust. User can show/hide annotation labels Allow custom line width.

NPM version NPM downloads

demo

!(https://cdn.jsdelivr.net/npm/@heylight/cdn@%5E1/img/demo.png)

<script src="https://unpkg.com/canvas-select@^2/lib/canvas-select.min.js"></script>
npm install canvas-select --save
<canvas class="container"></canvas>
interface CanvasSelectProps {
  el: string | HTMLCanvasElement; // css选择器或者HTMLCanvasElement
  src: string; // 图片链接
}
const instance = new CanvasSelect(".container", "/one.jpg");

let option = [
  {
    label: "rectangle",
    labelFillStyle: "#f00",
    textFillStyle: "#fff",
    coor: [
      [184, 183],
      [275, 238],
    ], // required
    type: 1, // required
  },
  {
    label: "polygon",
    coor: [
      [135, 291],
      [129, 319],
      [146, 346],
      [174, 365],
      [214, 362],
      [196, 337],
      [161, 288],
    ], // required
    type: 2, // required
  },
  {
    label: "dot",
    coor: [345, 406], // required
    type: 3, // required
  },
  {
    label: "line",
    coor: [
      [470, 155],
      [490, 230],
      [493, 298],
    ], // required
    type: 4, // required
  },
  {
    label: "circle",
    coor: [369, 197], // required
    radius: 38, // required
    type: 5, // required
  },
];

instance.setData(option);

instance.createType = 1;
instance.on("select", (info) => {
  console.log("select", info);
});

Update

Call update methodinstance.update()for updating annotation list

Delete Annotate Data

For deleting annotate data with shortcut you need to pass key code in instance.RemoveSelectionOnKey="Backspace".

Right Click Annotation

Set setRightClickMoveEvent to false to enable annotation on right click. By default it's set to true. this.instance.setRightClickMoveEvent = false

1.0.3-4.2

1 year ago

1.0.35

1 year ago

1.0.3-4.1

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.34

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.20

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.12

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago