首先, 新增一個專案名稱“MouseClickAndDraw”

image

設定BackColor 屬性值為 Black color

image

設定DoubleBufferedTrue

image

加入圖片至Resources

image


image

選擇一張圖片J:\CSharp\MosueClickAndDraw\MosueClickAndDraw\opencv-logo-white.png

image

載入後可以預覽照片

image

   1: public partial class Form1 : Form
   2: {
   3:     Point[] pt = new Point[100];
   4:     int pt_index = -1;
   5:     Image img = Properties.Resources.opencv_logo_white;
   6:  
   7:     public Form1()
   8:     {
   9:         InitializeComponent();
  10:     }
  11: }

定義滑鼠按下事件

image

   1: private void Form1_MouseDown(object sender, MouseEventArgs e)
   2: {
   3:     if (pt_index < pt.Length) // 如果一維陣列內的 100 個位置還沒裝滿
   4:     {
   5:         pt_index++;  // 一維陣列 的索引往前
   6:         pt[pt_index] = new Point(e.X, e.Y); // 存入 滑鼠游標位置
   7:     }
   8:     this.Invalidate(); // 要求表單重畫
   9: }

定義Paint事件

image

   1: private void Form1_Paint(object sender, PaintEventArgs e)
   2: {
   3:     for (int i = 0; i <= pt_index; i++)
   4:     {
   5:         e.Graphics.DrawImage(img,
   6:             pt[i].X - img.Width / 2, pt[i].Y - img.Height / 2, //影像左上角在表單的位置
   7:             img.Width, img.Height); //影像的寬高
   8:     }
   9: }

執行結果

image

sample code: MouseClickAndDraw

                    MouseClickAndDrawList

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 me1237guy 的頭像
    me1237guy

    天天向上

    me1237guy 發表在 痞客邦 留言(0) 人氣()