Fabricjs canvas 对象未正确呈现
Fabricjs canvas objects not rendering properly
我需要有关 fabricjs 的帮助,当我克隆并缩小到另一个对象时,对象无法正确呈现 canvas。
如果我只对文本对象做没有问题请看下面fiddle(保存后)
enter code here
FIDDLE
如果我加载图像,则对象未正确对齐。
enter code here
FIDDLE
请帮忙解决这个问题。
谢谢。
您的图像不考虑缩放的问题是图像加载是异步的。所以你从 json 加载,你执行缩放逻辑,几微秒后图像完成加载并设置自己的宽度和高度。
除此之外,您必须以正确的方式使用缩放。
每个人都在手动缩放并使用除法或乘以比例因子来改变左侧和顶部。
好的方法是使用
canvas.setZoom(scale);
这会让你省去很多麻烦。
$(function () {
scale = 0.5;
canvas1 = new fabric.Canvas('c1');
canvas1.setDimensions({
"width": canvas.getWidth() * scale,
"height": canvas.getHeight() * scale
})
var json = localStorage.getItem('save');
canvas1.loadFromJSON(json, function () {
canvas1.renderAll();
});
canvas1.setZoom(scale);
canvas1.renderAll();
});
chek 已更新 fiddle
https://jsfiddle.net/asturur/Lep9w01L/11/
我需要有关 fabricjs 的帮助,当我克隆并缩小到另一个对象时,对象无法正确呈现 canvas。
如果我只对文本对象做没有问题请看下面fiddle(保存后)
enter code here
FIDDLE
如果我加载图像,则对象未正确对齐。
enter code here
FIDDLE
请帮忙解决这个问题。
谢谢。
您的图像不考虑缩放的问题是图像加载是异步的。所以你从 json 加载,你执行缩放逻辑,几微秒后图像完成加载并设置自己的宽度和高度。
除此之外,您必须以正确的方式使用缩放。
每个人都在手动缩放并使用除法或乘以比例因子来改变左侧和顶部。
好的方法是使用
canvas.setZoom(scale);
这会让你省去很多麻烦。
$(function () {
scale = 0.5;
canvas1 = new fabric.Canvas('c1');
canvas1.setDimensions({
"width": canvas.getWidth() * scale,
"height": canvas.getHeight() * scale
})
var json = localStorage.getItem('save');
canvas1.loadFromJSON(json, function () {
canvas1.renderAll();
});
canvas1.setZoom(scale);
canvas1.renderAll();
});
chek 已更新 fiddle https://jsfiddle.net/asturur/Lep9w01L/11/