/* Gestion du mouvement du curseur pour la sélection de la zone - Vérité Terrain */ private void PB_VT_MouseMove(object sender, MouseEventArgs e) { base.OnMouseMove(e); if (e.Button == System.Windows.Forms.MouseButtons.Left) { PB_IMG_VT.Refresh(); /* set width and height for crop rectangle. */ rectW = e.X - crpX; rectH = e.Y - crpY; Graphics g = PB_IMG_VT.CreateGraphics(); g.DrawRectangle(crpPen, crpX, crpY, rectW, rectH); g.Dispose(); } }
/* Fonction pour exploiter la zone sélectionnée - Vérité Terrain */ private void Crop_VT_Click(object sender, EventArgs e) { Cursor = Cursors.Default; Bitmap bmp2 = new Bitmap(PB_IMG_VT.Width, PB_IMG_VT.Height); PB_IMG_VT.DrawToBitmap(bmp2, PB_IMG_VT.ClientRectangle); Bitmap crpImg = new Bitmap(rectW, rectH); for (int i = 0; i < rectW; i++) { for (int y = 0; y < rectH; y++) { Color pxlclr = bmp2.GetPixel(crpX + i, crpY + y); crpImg.SetPixel(i, y, pxlclr); } } /* Affichage de l'image "croppée" dans la PictureBox PB_Preview_VT */ PB_Preview_VT.Image = (Image)crpImg; PB_Preview_VT.SizeMode = PictureBoxSizeMode.StretchImage; }