- 締切済み
C#で作図ツール作成
作図ツールを作っています。 PowerPointの「カギコネクタ」のようなものを描画後に移動させたり変形させる場合はどのような実装が適切なのか素人ゆえさっぱりわかりません。 pictureboxなどのコントロールに描画するのか、直線に分解して個々のコントロールをまとめて管理するのかなど、より簡単で一般的(適切)な実装があればアドバイスいただければと思います。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#247307
回答No.1
これはビットマップ描画ではなくて、いわゆるドロー系ツールを作る場合、ということですね。おおまかに分けて、2つのやり方があります。 1つは、描画する図形の情報(図形の種類、位置、大きさ、線分の太さ、色、といったもの)を配列などにまとめて保管しておき、そこから順にデータを取り出して描画していくメソッドなどを用意する、というものです。つまり、「図形のデータ」と「描画処理」に分けてそれぞれ管理する、というやり方ですね。 もう1つは、描く図形のそれぞれに図形表示のクラスを定義していき、そのインスタンスをコレクションなどでまとめて管理する、というやり方ですね。抽象クラスクラスとして位置、大きさ、線分の太さ、色、といったプロパティ、それらを元に図形を描くメソッドなどをもったものを定義し、このサブクラスとしてそれぞれの図形クラスを定義していくわけです。 前者は、プログラムとしてはシンプルになりデータも扱いやすいでしょうが、図形の種類の増やすなど拡張が面倒です。後者はプログラムが全体に大きくなるでしょうが、後で拡張や修正がしやすいでしょう。
お礼
ご回答ありがとうございます。 実装のイメージが出来ました。 トライしてみます。