• ベストアンサー

PictureBoxに絵を書き込む

輪郭を検出して合成写真に利用するプログラムを作っているのですが、輪郭が途切れてしまうことがあります。 そこで、PictureBoxのクリックした部分を認識して、輪郭を手動で補うというプログラムを作りたいのですが、どのようにしたらいいのでしょうか。 PictureBoxのMouseClickを利用するとドラッグで線を引いたりできず、MouseDownだとうまくいきません。 マルチスレッドというような感じにすれば良さそうですが、よくわかりません。 言語はC#です。 よろしくお願いします。

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

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

List<Point> TempPoints = new List<Point>(); private void PictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == Windows.Forms.MouseButtons.Left) { TempPoints.Add(e.Location); if (TempPoints.Count > 2) { g.DrawLines(Pens.Black, TempPoints.ToArray); TempPoints.RemoveAt(0); } } } で、gは描画するGraphicsオブジェクトを指定してください。

その他の回答 (2)

noname#248942
noname#248942
回答No.3

追加です private void PictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { TempPoints.Clear(); } を追加してください

kilojapan
質問者

お礼

ありがとうございます 載せてもらったものはそのままでは動作しませんでしたが、参考にしたらできるようになりました。 ありがとうございました。

noname#248942
noname#248942
回答No.1

それは、お絵かきソフトのように、マウスで線を引くということですか?

kilojapan
質問者

補足

そういうことです。 よろしくお願いします。

関連するQ&A