【发布时间】:2015-05-04 00:59:06
【问题描述】:
为了尝试解决与 CORS (here) 相关的奇怪问题,我正在尝试重新加载通过 canvas.loadFromJSON()
加载的所有图像但是,我遇到了奇怪的问题。有时只替换一张图片,有时我会得到一张图片的副本。
这是我的代码:
canvas.loadFromJSON(<?php echo json_encode($objects); ?>, function() {
var objArray = canvas.getObjects();
for (var i = 0; i < objArray.length; i++) {
canvas.setActiveObject(objArray[i]);
var activeObject = canvas.getActiveObject();
if(activeObject.type === 'image') {
fabric.util.loadImage(activeObject.src, function(img) {
var object = new fabric.Image(img);
object.hasControls = true;
object.lockUniScaling = true;
object.scaleX = activeObject.scaleX;
object.scaleY = activeObject.scaleY;
object.originX = activeObject.originX;
object.originY = activeObject.originY;
object.centeredRotation = true;
object.centeredScaling = true;
canvas.add(object);
}, null, {crossOrigin: 'Anonymous'});
canvas.remove(activeObject);
}
activeObject.setCoords();
}
canvas.deactivateAll();
canvas.renderAll();
canvas.calcOffset();
});
知道为什么我会遇到这些奇怪的问题吗?
【问题讨论】: