首先, 新增一個專案名稱“MouseClickAndDraw”
設定BackColor 屬性值為 Black color
設定DoubleBuffered 為True
加入圖片至Resources
選擇一張圖片J:\CSharp\MosueClickAndDraw\MosueClickAndDraw\opencv-logo-white.png
載入後可以預覽照片
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: }
定義滑鼠按下事件
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事件
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: }
執行結果
sample code: MouseClickAndDraw
全站熱搜
留言列表