我将使用fabric.js在页面上绘制注释。现在,我希望将已注释的页面保存为原样,而不是在服务器端使用JSON重新绘制所有元素。
我的主要图片已加载为:
function redrawPage(src) {
var deferred = $q.defer();
fabric.Image.fromURL(src, function (img) {
zoom.reset();
transformation.reset();
mainImage = img;
mainImage.set({
left: 0,
top: 0
});
mainImage.hasRotatingPoint = true;
mainImage.selectable = false;
canvas.clear();
canvas.setWidth(mainImage.getWidth());
canvas.setHeight(mainImage.getHeight());
canvas.add(mainImage);
canvas.renderAll();
deferred.resolve();
});
return deferred.promise;
}
当我想将画布图像数据发送以存储为原始图像的注释版本时,我会收到“操作不安全”的错误提示。
function getImageData() {
var context = canvas.getContext('2d'),
imageData = context.getImageData(0, 0, canvas.width, canvas.height);
return imageData.data;
}
我从中加载图像的 Web 服务器不允许将 crossOrigin 设置为 "Anonymus"。