saved image in the picturebox shows no preview
<p>Hi iam new to C# and have loaded the image in the picture box using menustrip and have displayed some text using picturebox_Paint and label. now i tried to save the image (with image and text) using save event from the menustrip. in the saved location the file shows as no preview avaliable and when i tried to open the file it shows out of memory.</p>

<p>can any one say where iam going worng....</p>

<p>my coades</p>

<pre><code>private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
    string file = "";
    OpenFD.FileName = "";
    OpenFD.Title = "open image";
    OpenFD.InitialDirectory = "C";
    OpenFD.Filter = "JPEG|*.jpg|Bmp|*.bmp|All Files|*.*.*";
    if (OpenFD.ShowDialog() == DialogResult.OK)
    {
        file = OpenFD.FileName;
        pictureBox1.Image = Image.FromFile(file);
        sz = pictureBox1.Size;
        a=sz.Width; b= sz.Height;
    }


private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
     switch (e.Button)
     {
         case MouseButtons.Left:
         {
             rect = new Rectangle(rect.Left, rect.Top, e.X - rect.Left, e.Y - rect.Top);
             this.Invalidate();
             y = flag.e;
             Application.DoEvents();
             break;   
         }

       }
  }

  private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
  {
      rect = new Rectangle(e.X, e.Y, 0, 0);
      this.Invalidate();
  }

  private void pictureBox1_Paint(object sender, PaintEventArgs e)
  {
      using (Pen pen = new Pen(Color.Red, 2))                        e.Graphics.DrawRectangle(pen, rect);
      //e.Graphics.DrawString(label1.Text, label1.Font, new 
       // SolidBrush(label1.ForeColor), label1.Left - pictureBox1.Left, label1.Top - pictureBox1.Top);

        if (label1.TextAlign == ContentAlignment.TopLeft)
        {
            e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), label1.Bounds);
        }
        else if (label1.TextAlign == ContentAlignment.TopCenter)
        {
            SizeF size = e.Graphics.MeasureString(label1.Text, label1.Font);
            float left = ((float)this.Width + label1.Left) / 2 - size.Width / 2;
                    RectangleF rect1 = new RectangleF(left, (float)label1.Top, size.Width, label1.Height);
            e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), rect1);
        }
        else
        {
             SizeF size = e.Graphics.MeasureString(label1.Text, label1.Font);
             float left = (float)label1.Width - size.Width + label1.Left;
             RectangleF rect1 = new RectangleF(left, (float)label1.Top, size.Width, label1.Height);
             e.Graphics.DrawString(label1.Text, label1.Font, new SolidBrush(label1.ForeColor), rect1);
         }

         label1.Top = rect.Top; label1.Left = rect.Left; label1.Width = rect.Width; 
         label1.Height = rect.Height; 
  }

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
     SaveFileDialog SaveFD1 = new SaveFileDialog();
     //string Sd_file = "";
     SaveFD1.FileName = "";
     SaveFD1.InitialDirectory = "C";
     SaveFD1.Title = "save file Name";
     SaveFD1.Filter= "JPG|*.jpg|Bmp|*.bmp";
     if (SaveFD1.ShowDialog() != DialogResult.Cancel)
     {
         System.IO.Stream filename = (System.IO.FileStream)SaveFD1.OpenFile();
         if (SaveFD1.Filter == "JPG")
                      pictureBox1.Image.Save(SaveFD1.FileName);
                    //pictureBox1.Image.Save (filename, System.Drawing.Imaging.ImageFormat.Jpeg);
          else if (SaveFD1.Filter == "Bmp")
          {
          //pictureBox1.Image.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);
          }
          filename.Close();                                   
      }
  }
</code></pre>
