我在客户端使用fabric.js允许用户在浏览器中创建图像,然后fabric.js序列化图像到json并发送到节点服务器。那么后端将JSON字符串反序列化为一个对象,并将该图像保存为本地文件。fabric.js最简单的方式来缩放整个图像
的问题是:
结果图像必须是大的,例如3000x3000px, 现在我使用<canvas width="600" height="600"></canvas>
用户上传的背景图像(3000x3000)到画布,然后我缩放这样说:
fabric.Image.fromURL(data, function (img) {
img.scale(0.2);
canvas.add(img).renderAll();
});
它填充整个画布。
然后用户将文本添加到画布上,例如偏移x,y:100,200,然后单击提交按钮。服务器必须将600x600图像未标定为3Kx3K,还要对文本进行未缩放并重新计算偏移量。有没有最简单的方法来操纵缩放?
要保持图像分辨率还是只想使其尺寸为3k x 3k? – Yogesh
我想保存用户的分辨率,我使用600x600,因为大图像会超出显示器尺寸 – Goolishka