• ベストアンサー

移動する線を描画したい(何と例えたらいいのか・・・)

Microsoft Visual Studio.Netの2003でC#を使っています。 pictureBoxに描画する時に、マウスとともに移動できる線(1つ前に描画した線を消せる)を 引きたいと思ったのですが、何の関数を使えば良いか分かりません・・・ よくマウスの先端から縦横に線が出て、今いる座標が分かるような描画ソフトがありますよね、 あんな感じの線を描画したいです。 つまり線は見えるけども後ろの絵は消えてないというやつです。それでマウスが動いたら 縦横の線も移動します。 どういう方法があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#39970
noname#39970
回答No.2

因みに windowsじゃない時代の時だけど xor で線を描画して移動したら xor で再描画してから異動先を示すプロットをやはりxorで描画するという手法がよく見られた

takagoo100
質問者

お礼

ご返答ありがとうございます。 なんとなく別の領域に描いて、それを重ねるようなイメージなのは 分かりますが、これから調べて実装していきたいと思います。

その他の回答 (2)

  • K-1
  • ベストアンサー率21% (832/3844)
回答No.3

VBでのやり方ですが、PictureBoxの上に、Lineオブジェクトを貼ります。 MouseMoveやMouseDownなどでこのLineの表示座標をかき変えれば、下の絵に影響なくラインカーソルが描けます。

takagoo100
質問者

お礼

ご返答ありがとうございます。 それをC#でやるには、どんな関数(設計)か分かりますか?

noname#39970
noname#39970
回答No.1

それは「プロット」じゃないかな? やり方はとても簡単だけれども自作しなければならない。 やる事は マウスカーソルを消す マウスカーソルが有る位置に希望の線を描画する方法 の2つ 線が難しいなら最初は既存の画像を表示するというのをやってみたら良い。 それができたら縦と横に1本ずつ、マウスカーソルの示す座標に線を引けばよい。 ただこれはユーザの描画データとプロットを描画し終わった「見えてる状態」を別で保持するか何らかの方法で線をすぐ消せる仕掛けを考えなければならない。 どうするかはまず上記の仕掛けだけでもできるようになってからにした方が良い