לדוגמה ציירתי ב PAINT EVENT ישירות ל PICTUREBOX כמה נקודות פיקסלים.
אז יש לי תמונה IMAGE ועליה מספר תמונות.אם אני עושה PICTUREBOX.IMAGE.SAVE זה ישמור רק את התמונה בלי הנקודות שציירתי.
לכן בתחילת FORM1 הכרזתי על משתנה מסוג BITMAP והשתמשתי גם בו ב PAINT EVENT וככה אני מצייר גם ל PICTUREBOX ובמקביל גם ל BITMAP.
אם אני אעשה BMP.SAVE הוא ישמור רק את הנקודות בלי התמונה שיש ב PICTUREBOX
איך אני יכול לשמור אותם על קובץ אחד בדיסק הקשיח ביחד הכוונה גם את ה IMAGE ב PICTUREBOX וגם את מה שציירתי ?
זה ה PAINT EVENT הקוד:
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { SolidBrush brush; Pen p=null; Point connectionPointStart; Point connectionPointEnd; Graphics g = e.Graphics; bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); Graphics bitmapGraphics = Graphics.FromImage(bmp); //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; moveCounter++; label6.Text = moveCounter.ToString(); brush = new SolidBrush(Color.Red); p = new Pen(brush); for (int idx = 0; idx < wireObject1._point_X.Count; ++idx) { Point dPoint = new Point((int)wireObject1._point_X, (int)wireObject1._point_Y); dPoint.X = dPoint.X - 5; // was - 2 dPoint.Y = dPoint.Y - 5; // was - 2 Rectangle rect = new Rectangle(dPoint, new Size(10, 10)); g.FillEllipse(brush, rect); bitmapGraphics.FillEllipse(brush, rect); // g.FillEllipse(brush, rect); } for (int i = 0; i < wireObject1._connectionstart.Count; i++) { int startIndex = wireObject1._connectionstart; int endIndex = wireObject1._connectionend; connectionPointStart = new Point((int)wireObject1._point_X, (int)wireObject1._point_Y); connectionPointEnd = new Point((int)wireObject1._point_X, (int)wireObject1._point_Y); p.Width = 2; g.DrawLine(p, connectionPointStart, connectionPointEnd); bitmapGraphics.DrawLine(p, connectionPointStart, connectionPointEnd); } }
|
וכאן ב פונקציה הזו אני רוצה לעשות את השמירה:
private void SavePictureBoxToBitmap() { //PbToBitmap++; //String tempFile = @"d:\PictureBoxToBitmap\" + PbToBitmap.ToString("D6") + bmp; bmp.Save(@"d:\PictureBoxToBitmap\bit.bmp"); }
|