- ベストアンサー
PictureBoxに絵を書き込む
輪郭を検出して合成写真に利用するプログラムを作っているのですが、輪郭が途切れてしまうことがあります。 そこで、PictureBoxのクリックした部分を認識して、輪郭を手動で補うというプログラムを作りたいのですが、どのようにしたらいいのでしょうか。 PictureBoxのMouseClickを利用するとドラッグで線を引いたりできず、MouseDownだとうまくいきません。 マルチスレッドというような感じにすれば良さそうですが、よくわかりません。 言語はC#です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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)
追加です private void PictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { TempPoints.Clear(); } を追加してください
それは、お絵かきソフトのように、マウスで線を引くということですか?
補足
そういうことです。 よろしくお願いします。
お礼
ありがとうございます 載せてもらったものはそのままでは動作しませんでしたが、参考にしたらできるようになりました。 ありがとうございました。