0

ベクトルグラフィカル エディターを Flash Web アプリに埋め込む必要があります。グラフィックエディタは、次のことができる必要があります。

  • 線を引く(ブラシツール)
  • 消す
  • 縮尺図
  • テキスト ブロックを作成する
  • 描画の背景として画像を使用します (画像をアップロードして背景として使用します)。

ユーザーが行った変更は、他のアクティブなクライアントに送信する必要があります。次の質問に対する答えを見つけようとしています。

  1. 線の描画はどのように実装する必要がありますか? つまり、ユーザーが画面上でマウスを移動した場合 (マウスの左ボタンを押したまま)、MOUSE_MOVE イベントをどのように処理すればよいでしょうか? 描画後、ユーザーは描画をスケーリングしたい場合があることに注意してください。
  2. 消去はどのように実装する必要がありますか? 白い線を描くように消去を実装できないことに注意してください(背景を持つことができるため)。
  3. ドローウィングを保管する最良の方法は何ですか? コマンドのセットをシリアル化しますか?
  4. 最後に、他のクライアントに変更を知らせるにはどうすればよいでしょうか?

説明したものと同様のグラフィカル エディターを作成する方法に関する記事やチュートリアルに感謝します (プラットフォームやプログラミング言語に関係なく)。

そして恥ずかしがらないでください:)どんな考えでも大歓迎です!

4

2 に答える 2

1

これは難しそうですね。最初は簡単に思えるようなプロジェクトですが、実際のベクトル エディターに匹敵するものを手に入れるのは非常に困難です。

自分で行うのではなく、埋め込む既存のライブラリを見つけようとします。いくつか検索してみましたが、Flash で機能するベクター エディターが見つかりませんでした。一方、 HTML5/Javascript にはsvg-edit のようなものがたくさんあります。Javascript エディターを起動して、結果を Flash に戻す方法を見つけられるかもしれません。

于 2012-09-20T15:50:54.193 に答える
1

私はすべてをやったわけではないので、いくつかの質問に答えようとします。

  1. ツールにもよりますが、最も簡単に実装できるのは、直線のみを描画する鉛筆ツールです。移動できるアンカーに追従する必要がある鉛筆などのより複雑なツールは、実際にはそれほど違いはありません。実際、ユーザーから受け取るアンカーパラメーターを使用するだけでよいため、非常に簡単です。最も複雑なツールは、ブラシがキャンバス上を任意に移動するときにブラシを追従することです。ベクトル形状の「ユニオン」操作を実装する必要があります。これは簡単ではなく、交点を見つけるには数学が必要です。それを行う方法を説明する専門の文献が必要です。小さな形状を作成し、マウス ポインターの位置を個別の間隔でサンプリングしてから、それらを「結合」する必要があります。

  2. 消去は、上記のブラシ ツールと非常によく似ています。

  3. 私は SWF 形式を書きますが、最悪の場合は SVG です。SWF の利点は、同じプログラム/環境で図面を簡単に使用できることです。SVG の利点は、Flash が利用できない場所でも使用できることです。

おそらく、Inkscape のソース (おそらく最も人気のあるオープンソースのベクター グラフィック エディター) を調べることから始めるのがよいでしょう。率直に言って、これはバグが多く不安定なプログラムですが、少なくとも一部は動作するはずです。

于 2012-09-20T13:40:08.440 に答える