0.0.7-0 • Published 3 years ago

@zijin/area-select v0.0.7-0

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

AreaSelect

通过所见即所得的方式标识出图片中的不规则区域。

效果图:

image

使用示例:

image

image

image

image

image

注意:

  • 本组件依赖与3D框架three;
  • 本组件使用原生javascript开发,可以angular、vue、react等框架中使用;
  • 可以通过鼠标、键盘或者调用areaEditor实例方法的方式执行命令

todo: 设置坐标轴原点的位置

区域标注组件特点: 1. 支持绘制任意多边形 1. 支持起点、终点自动磁吸 1. 支持调整单个节点的位置 1. 支持撤销操作 1. 支持删除多余节点 1. 支持不可编辑状态和可编辑状态切换 1. 封闭的图形填色 1. 支持同时绘制多副封闭区域 1. 支持在多个封闭区域之间进行切换,只有当前激活的多边形才可以进行编辑 1. 支持已经绘制好的多边形,重新打开 1. 支持当前激活多边形删除

使用(angular):

npm install @zijin/area-select

angular template

<h2 style="width:800px;margin: 0 auto;text-align: center;">area-select 示例</h2>
<div id="container" style="width:800px;height:500px;margin: 5px auto;"></div>
<div style="width:800px;margin: 5px auto;">
  <button (click)="onClick('getValue')">获取值</button>
  <button (click)="onClick('disable')">禁用</button>
  <button (click)="onClick('enable')">取消禁用</button>
  <button (click)="onClick('newArea')">新建区域(mouse right click)</button>
  <button (click)="onClick('cancelPoint')">撤销(mouse right click)</button>
  <button (click)="onClick('delete')">删除当前处于激活状态的区域(delete)</button>
  <button (click)="onClick('openArea')">打开已封闭区域(backspace)</button>
  <button (click)="onClick('previous')">上一个区域(left arrow)</button>
  <button (click)="onClick('next')">下一个区域(right arrow)</button>
  <button (click)="onClick('clear')">清空</button>
  <br>
  <code>{{text}}</code>
</div>

angular component

import {AfterViewInit, Component} from '@angular/core';
import {AreaEditor} from '@zijin/area-select';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.less']
})
export class AppComponent implements AfterViewInit {
  text = '';

  areaEditor;

  // tslint:disable-next-line:typedef
  onClick(param) {
    switch (param) {
      case 'getValue':
        this.text = JSON.stringify(this.areaEditor.value);
        break;
      case 'disable':
        this.areaEditor.disable();
        break;
      case 'enable':
        this.areaEditor.enable();
        break;
      case 'newArea':
        this.areaEditor.newArea();
        break;
      case 'cancelPoint':
        this.areaEditor.cancelPoint();
        break;
      case 'delete':
        this.areaEditor.delete();
        break;
      case 'openArea':
        this.areaEditor.openArea();
        break;
      case 'previous':
        this.areaEditor.previous();
        break;
      case 'next':
        this.areaEditor.next();
        break;
      case 'clear':
        this.areaEditor.clear();
        break;
    }
  }

  // tslint:disable-next-line:typedef
  ngAfterViewInit() {
    const areaEditor = this.areaEditor = new AreaEditor();
    areaEditor.bootstrap({
      container: document.getElementById('container'),
      layoutUrl: 'assets/layout.jpeg',
      width: 1442,
      height: 834
    });
  }
}
0.0.7-0

3 years ago

0.0.6

3 years ago

0.0.6-2

3 years ago

0.0.6-1

3 years ago

0.0.5-3

3 years ago

0.0.5-2

3 years ago

0.0.5-1

3 years ago

0.0.5-0

3 years ago

0.0.3-57

3 years ago

0.0.5-7

3 years ago

0.0.5-6

3 years ago

0.0.5-5

3 years ago

0.0.5-4

3 years ago

0.0.5-9

3 years ago

0.0.5-8

3 years ago

0.0.4-0

3 years ago

0.0.4-4

3 years ago

0.0.4-3

3 years ago

0.0.4-2

3 years ago

0.0.4-1

3 years ago

0.0.3

3 years ago

0.0.4-5

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.6-0

3 years ago

0.0.5-18

3 years ago

0.0.5-17

3 years ago

0.0.5-16

3 years ago

0.0.5-15

3 years ago

0.0.5-14

3 years ago

0.0.5-12

3 years ago

0.0.5-11

3 years ago

0.0.5-10

3 years ago

0.0.3-50

3 years ago

0.0.3-51

3 years ago

0.0.3-52

3 years ago

0.0.3-53

3 years ago

0.0.3-54

3 years ago

0.0.3-55

3 years ago

0.0.3-56

3 years ago

0.0.3-40

3 years ago

0.0.3-42

3 years ago

0.0.3-43

3 years ago

0.0.3-44

3 years ago

0.0.3-45

3 years ago

0.0.3-46

3 years ago

0.0.3-47

3 years ago

0.0.3-48

3 years ago

0.0.3-49

3 years ago

0.0.3-1

3 years ago

0.0.3-0

3 years ago

0.0.3-5

3 years ago

0.0.3-4

3 years ago

0.0.3-3

3 years ago

0.0.3-2

3 years ago

0.0.3-10

3 years ago

0.0.3-11

3 years ago

0.0.3-12

3 years ago

0.0.3-13

3 years ago

0.0.3-14

3 years ago

0.0.3-15

3 years ago

0.0.3-16

3 years ago

0.0.3-9

3 years ago

0.0.3-8

3 years ago

0.0.3-7

3 years ago

0.0.3-6

3 years ago

0.0.3-32

3 years ago

0.0.3-33

3 years ago

0.0.3-34

3 years ago

0.0.3-35

3 years ago

0.0.3-36

3 years ago

0.0.3-37

3 years ago

0.0.3-38

3 years ago

0.0.3-39

3 years ago

0.0.3-28

3 years ago

0.0.3-29

3 years ago

0.0.2

3 years ago

0.0.2-44

3 years ago

0.0.2-41

3 years ago

0.0.2-40

3 years ago

0.0.2-39

3 years ago

0.0.2-38

3 years ago

0.0.2-37

3 years ago

0.0.2-36

3 years ago

0.0.2-34

3 years ago

0.0.2-33

3 years ago

0.0.2-32

3 years ago

0.0.2-31

3 years ago

0.0.2-30

3 years ago

0.0.2-29

3 years ago

0.0.2-28

3 years ago

0.0.2-27

3 years ago

0.0.2-26

3 years ago

0.0.2-25

3 years ago

0.0.2-24

3 years ago

0.0.2-23

3 years ago

0.0.2-22

3 years ago

0.0.2-21

3 years ago

0.0.2-20

3 years ago

0.0.2-19

3 years ago

0.0.2-18

3 years ago

0.0.2-17

3 years ago

0.0.2-16

3 years ago

0.0.2-15

3 years ago

0.0.2-14

3 years ago

0.0.2-13

3 years ago

0.0.2-12

3 years ago

0.0.2-11

3 years ago

0.0.2-10

3 years ago

0.0.2-9

3 years ago

0.0.2-8

3 years ago

0.0.2-6

3 years ago

0.0.2-5

3 years ago

0.0.2-1

3 years ago

0.0.2-0

3 years ago