我使用fabricJS在一个屏幕上有多个画布。
我在每个画布中添加了一些IText,文本框,图像,背景。
我有一些缩放选项,例如25%,50%,100%到300%(按25%的递增顺序)。
如果我当前的默认比例为100%,则意味着scalefactor为1,现在,如果我应用125或150或任何其他值,则此代码可以正常工作。但一旦我下降,则表示25或50,然后又是150或175。然后它开始表现奇怪。我的代码在这里。我试图根据初始比例因子进行缩放,但是它没有按预期工作。
const scalefactor = Number(this.selectedScale) / 100;
this.canvas.forEach((canvas: any, index) => {
this.canvas[index].setDimensions({
width: Number(this.canvas[index].originalCanvasWidth * scalefactor),
height: Number(this.canvas[index].originalCanvasHeight * scalefactor)
});
this.canvas[index].setZoom(scalefactor);
if (this.canvas[index].backgroundImage) {
// Need to scale background images as well
let bi = this.canvas[index];
bi.width = bi.originalBackgroundImageWidth * scalefactor;
bi.height = bi.originalBackgroundImageHeight * scalefactor;
}
let objects = this.canvas[index].getObjects();
for (let i in objects) {
const scaleX = objects[i].scaleX;
const scaleY = objects[i].scaleY;
const left = objects[i].left;
const top = objects[i].top;
const tempScaleX …Run Code Online (Sandbox Code Playgroud) 如何在fabric js中在画布上触发自定义事件?
我想在fabric js中在canvas上注册javaScript事件.