Flex 4で画像編集アプリケーションを開発したいと思います。最初の要件は、アプリケーションで線、長方形、三角形、円、星などのさまざまな形状を描画することです。私は、ユーザーがプロのアプリケーションのようにラバーバンディングを使用して形状を描画しやすくしたいと考えています。
すべての形状はベクトルであり、サイズが滑らかに見えるはずです。したがって、ビットマップを使用してスケーリングすることはできません。
これを達成するためのより良い方法は何ですか?
Flex 4で画像編集アプリケーションを開発したいと思います。最初の要件は、アプリケーションで線、長方形、三角形、円、星などのさまざまな形状を描画することです。私は、ユーザーがプロのアプリケーションのようにラバーバンディングを使用して形状を描画しやすくしたいと考えています。
すべての形状はベクトルであり、サイズが滑らかに見えるはずです。したがって、ビットマップを使用してスケーリングすることはできません。
これを達成するためのより良い方法は何ですか?
基本的な形状をゼロから作りたくない場合は、degrafa と呼ばれるこのフレームワークがあります: http://www.degrafa.org/
それらには、パラメトリックな形状と曲線、およびそれらをまとめるための高度な機能がたくさんあります。
いくつかのコントロールポイントを使用してシェイプエディタを作成します。コントロールポイントはドラッグ可能なスプライト(必要に応じて円または正方形)です。コントロールポイントを移動するときは、エディターを更新する必要があります。サイズ変更または移動アクションの場合があります。サイズ変更時に、新しいサイズに従ってベクターシェイプを描画します。スプライトをドラッグ可能にする最も簡単な方法は、startDrag()関数です。ここで制限を設定することもできます(エディター領域にとどまるか、負のサイズを無効にするため)。
私はスプライトに基づいてそのようなエディターを作成し、rawChildren.addChildを使用してFlexアプリケーションに追加しましたが、必要に応じて、スプライトの代わりにキャンバスを使用することもできます。