いくつかのテストの後、最終的に fabric.canvas を MySQL データベースに保存しました。問題は、キャンバス内の画像のサイズを変更したくないことです。必要なのは回転だけです。残念ながら、保存された json には fabric.Image オブジェクトの lockScalingX および lockScalingY プロパティが保存されていません。fabric.canvas を取得すると、画像のサイズを変更できます。
これを回避する方法はありますか?
私は機能を使用します
var jsonCanvas = JSON.stringify(canvas.toDatalessObject());
phpを使用してjsonをデータベースに保存し、保存されたjsonを次を使用して取得します
canvas.loadFromJSON(data);
私が話していることを確認するには、このフィドルを参照してください-> http://jsfiddle.net/lpccoder/YX9Wf/1/ oImg.lockScalingX = oImg.lockScalingY = true; を設定します。サイズ変更を避けるためにキャンバスに追加する前に。[保存] ボタンをクリックするとキャンバスが保存されますが、([読み込み] ボタンを使用して) 読み込むと、画像のサイズを変更できます。
これに対する回答が得られないので、キャンバスをロードした後に lockScalingX と lockScalingY を設定しようとしていますが、 forEach メソッドを使用すると奇妙な動作が発生します。つまり、これを機能させるには、forEach の前にアラートを配置する必要があります。このアラートを配置しないと、forEach ループは機能しません。これを明確にするために、この 2 つのフィドルを見て比較できます。
作業中 -> jsfiddle.net/lpccoder/hGPCG/
動かないもの -> jsfiddle.net/lpccoder/Vv4AW/
私はJavaScriptコーディングが初めてで、初心者の質問かもしれませんが、それは非常に奇妙な動作だと思います...解決策はありますか?