经过几次测试,我终于保存了一个fabric.canvas到一个MySQL数据库,问题是我不希望画布中的图像可以调整大小,我只需要旋转。不幸的是,存储的JSON不存储fabric.Image对象的lockScalingX和lockScalingY属性,当我检索fabric.canvas时,我可以调整图像大小。保存FabricJS不存储lockScalingX
有什么办法可以避免这种情况?
我使用的功能
var jsonCanvas = JSON.stringify(canvas.toDatalessObject());
使用PHP 存储JSON到一个数据库,我retrive使用
canvas.loadFromJSON(data);
存储JSON来看看我说的是看到这个小提琴 - >http://jsfiddle.net/lpccoder/YX9Wf/1/ 我设置了oImg.lockScalingX = oImg.lockScalingY = true;之前添加到画布以避免调整大小。 按钮保存,保存画布,但当我加载它(使用加载按钮)我可以调整图像大小。
好吧,因为我没有收到任何回答,我试图在加载canvas后设置lockScalingX和lockScalingY,但是当我使用forEach方法时会发生一些奇怪的行为。我的意思是,我需要在forEach之前发出警报才能使其工作,如果我没有将此警报置于forEach循环不起作用。为了澄清这一点,你可以看到和比较这两小提琴:
工作一个 - > jsfiddle.net/lpccoder/hGPCG/
非工作一个 - > jsfiddle.net/lpccoder/Vv4AW/
我在JavaScript编码新的,也许这是一个新手问题,但我认为这是一个非常奇怪的行为...任何解决方案?
欢迎来到stackoverflow。请记住稍后为未来的访问者接受您的答案。 – Shahbaz 2012-07-17 13:21:36