通过 Konva 使用 Angular 和 Canvas 入门
如何在 Angular 中使用 Canvas?
ng2-konva 是一个用于在 Angular 中绘制复杂 Canvas 图形的 JavaScript 库。它为 Konva 框架 提供声明式和响应式绑定。
这是一个让 Angular 能够与 HTML5 canvas 库协同工作的尝试。目标是拥有类似普通 Angular 的声明式标记以及类似的数据流模型。
所有 ng2-konva 组件都对应带有前缀 'ko-' 的同名 Konva 组件。所有可用于 Konva 对象的参数都可以作为 config 属性绑定添加到相应的 ng2-konva 组件中。
核心形状包括:ko-rect,ko-circle,ko-ellipse,ko-line,ko-image,ko-text,ko-text-path,ko-star,ko-label,ko-path,ko-regular-polygon。
你也可以创建自定  义形状。
想了解更多关于 Konva 的信息,可以阅读 Konva 概览。
快速开始
需要使用 Angular 20 及以上版本。
1. 通过 npm 安装
npm install ng2-konva konva --save
2. 导入并使用 ng2-konva
import {
  CoreShapeComponent,
  StageComponent,
} from 'ng2-konva';
@Component({
  // ... 其他配置
  template: `
    <ko-stage [config]="configStage">
      <ko-layer>
        <ko-circle [config]="configCircle"></ko-circle>
      </ko-layer>
    </ko-stage>
  `,
  imports: [StageComponent, CoreShapeComponent],
})
export default class App {
  public configStage: StageConfig = {
    width: window.innerWidth,
    height: window.innerHeight,
  };
  public configCircle: CircleConfig = {
    x: 100,
    y: 100,
    radius: 50,
    fill: 'red',
  };
}
3. 在你的组件中使用
说明:尝试拖动星星。它们在拖动时会放大,释放后恢复正常大小。
完整属性和方法列表,请参阅 Konva API 参考。