如果我想扩展 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