ABA


"איך אני שומר ב #C את התמונה ב PICTUREBOX ומה שצוייר ?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10758 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10758
Lightnings 
חבר מתאריך 17.1.12
851 הודעות
   12:03   01.07.12   
אל הפורום  
  איך אני שומר ב #C את התמונה ב PICTUREBOX ומה שצוייר ?  
 
   לדוגמה ציירתי ב 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");
}


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net