問題タブ [fabricjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
canvas - 要素を追加した後、FabricJS キャンバスが「スタック」する
を使用してアプリケーションを作成していますfabric.js
が、非常に奇妙な動作が発生しています。fabric.Canvas
通常の(not )を使用して、画像とテキストの両方のインスタンスを追加していますが、fabric.StaticCanvas
追加後にこれらのアイテムを移動またはサイズ変更できません。各タイプを数個だけ追加しました。基本的な機能は、いくつかのボタンのクリック イベントに関連付けられたコールバックにラップされますが、ファブリックのコア機能は次のようになります (簡略化されていますが、ファブリック関連のコードに関してはほとんどすべてが同じです)。
上記のコードは要素を適切にレンダリングしますが、サイズ変更や移動はできず、静的に動作します。奇妙なことに、Chrome 開発パネルを開いたり閉じたりすると (F12 または [Ctrl/CMD]+SHIFT+I を 2 回使用)、キャンバスが機能を回復し、すべてが再び機能します。私もサーバー側でいくつかのことを行っています (これは私が行っていることの単なるサンプルです) が、これをこの奇妙な動作にさらに追跡する方法がわかりません。私は最新のコード(githubリポジトリから構築)を使用しています。考え?
javascript - 編集可能なオブジェクトでグループ化しますか?
に編集可能なオブジェクトを入れてfabric.Group
、オブジェクトの1つを移動できるようにする方法はありますか?
jquery-ui - Fabric.js で JQueryUI ウィジェットを使用すると、コントロールの回転/サイズ変更が予期しない動作をする
私は Fabric.js を発見しました。ドキュメンテーションは少し不足していますが、私が構築している HTML ベースの Dream Board ツールに必要なすべてを処理してくれるようです。ただし、JQueryUI ではうまく機能しないようです。
オブジェクトのいずれかを JQueryUI ウィジェット、ボタン、ダイアログ ボックスなどに設定すると、コントロール ハンドルがキャンバス アイテムの上半分で応答しないように見えます。回転が大幅に減少し、アイテムの操作が難しくなります。誰かがこれに遭遇しましたか?これは既知の問題ですか? 私はgithubをチェックし、SOを無駄に検索しようとしました。
ありがとうございました!
http://seismicdevelopment.com/test/no-jquery-uis.html - JQuery UI ウィジェットがありません...期待どおりに動作します。
http://seismicdevelopment.com/test/with-jquery-uis.html - [画像を追加] をクリックすると、画像が表示されますが、他のページと比較すると、画像の角が欠けていることがわかります。インタラクティブに...画像を移動することはできますが、回転とスケーリングは非常に難しいです。
javascript - キャンバスを PNG または JPG として保存する
base64でエンコードされた画像として新しいウィンドウでキャンバスを開かずに、キャンバスをPNGとして保存したい。
私はこのコードを使用しました:
ボタンが画像をPNGまたはJPGとして保存するようにしたい。
database - Fabric.js - カスタム属性を使用してキャンバスをサーバーに保存する方法
現在のキャンバスの状態をおそらく JSON 文字列としてサーバー側のデータベースに保存し、後でloadFromJSON
. 通常、これは次を使用して簡単に実現できます。
その後
ただし、組み込みObject#set
メソッドを使用して、キャンバスに追加する生地オブジェクトにいくつかのカスタム属性も設定しています。
問題は、サーバー側でリクエストを確認すると、カスタム属性がキャンバスから解析されず、他のすべてのものと一緒に送信されていることがわかります。これはおそらく、toObject
メソッドがオブジェクト クラスのデフォルト属性ではないものを削除する方法に関係しています。サーバーから送信された JSON 文字列からキャンバスを保存および復元でき、復元されたキャンバスにもカスタム属性が含まれるように、この問題に取り組む良い方法は何でしょうか? ありがとう。
json - FabricJS-JSONからCanvasをロードするときにエラーが発生しました
この回答fabric.Image
で提案されているように、キャンバス内から拡張されたカスタムオブジェクトを使用しています。サーバーからjson文字列を取得すると、キャンバスにロードしようとすると奇妙なエラーが発生します。
コンソールに奇妙なプリントアウトが表示されます:Cannot call method 'setupState' of undefined (fabric.min.js: 1118)
。呼び出しをに置き換えようとしましたがcanvas.loadFromJSON(json)
、代わりに漠然としたSyntaxError: Unexpected token o
エラーが発生しました。fabric.Image
リンクされたスレッドで提案された変更の前に通常のコードを使用した場合、このコードは正常に機能しました。追加のデータを使用してfavricのImageクラスを拡張したときに、これが欠落している可能性があるのではないかと心配しています。考え?
javascript - fabric.js lockUniScaling on fabric.Image.fromURL
fabric.js ( http://fabricjs.com ) を使用してイメージをロードしましたが、要素で「lockUniScaling」が機能しません。
これは機能します:
この要素に「lockUniScale」を取得するにはどうすればよいですか?
他の要素を追加すると、item(1)、item(2)、...を使用してそれらを取得できますが、画像要素を取得できません。
ヒントはありますか?
javascript - Fabric.js 要素への ID の追加
Fabric.js ライブラリを使用して Canvas で「地図のような」アプリケーションを作成しています。私は基本的に画像を置いてから、正しい座標で画像の上に円を置きます。ドットの位置と名前は、ajax 呼び出しから受け取った JSON データとして取得されます。個々のサークルを参照して、そのサークルに関する詳細情報を取得できるようにする必要があります (各サークルには、より詳細な情報がポップアップ表示されます)。
これを行う方法を説明しているドキュメントのどこにも見つかりません。次のようにオブジェクトにIDを追加しようとしました:
tokens.add(new fabric.Circle({ radius: 25, fill: '#f55', top: 100, left: 70, id: "foo" }));
運が悪いのでそれを取得します。どんな助けでも大歓迎です。また、これはこのコミュニティとの最初のやり取りであるため、質問が十分に詳細でない場合、またはその他の問題がある場合はお詫び申し上げます。