1

如果我想扩展 Toast UI Image Editor javascript 库的预建功能,我想了解这种方法。在这个库中有一个函数 addShape(link below) 可以用来绘制三个已经定义的形状,即矩形、圆形、三角形。我想扩展此函数的功能以合并另一种形状,例如 SemiCircle。我已经编写了绘制半圆的代码,但是如何将它添加到 addShape 函数中。目前我已经开发了一个名为 addNewShape 的新函数并相应地处理传入的请求,但我想使用继承的覆盖性质。

Function.prototype.inherits = function(parent) {
    this.super_ = parent;
    this.prototype = Object.create(parent.prototype);
  };

  myImageEditor.inherits(tui.ImageEditor); //Inherits all properties and methods

  function myImageEditor() {
    tui.ImageEditor.apply(this, arguments);
  }

myImageEditor.prototype.addNewShape = function (type, options) {
    if (type == 'semiCircle') {
        semiCircle(radius,x,y)
        } else {
            this.addShape(type, options); //for rect,circle and triangle
        }
    }



var imageEditor = new myImageEditor(document.querySelector('#tui-image-editor'), {

   cssMaxWidth: 700,
   cssMaxHeight: 500,
   selectionStyle: {
       cornerSize: 20,
       rotatingPointOffset: 70
   }
});

我如何覆盖 addShape 方法,以便对于半圆我的函数应该被调用,否则默认函数?

我不想更改库本身,只是扩展现有功能的解决方案。

Toast UI 图像编辑器:https ://ui.toast.com/tui-image-editor/ 功能:https ://nhn.github.io/tui.image-editor/latest/ImageEditor#addShape

4

0 回答 0