saved image in the picturebox shows no preview

Posted by Nivas on Stack Overflow See other posts from Stack Overflow or by Nivas
Published on 2010-05-05T05:24:30Z Indexed on 2010/05/05 5:28 UTC
Read the original article Hit count: 181

Filed under:

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.

can any one say where iam going worng....

my coades

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();                                   
        }

    }

© Stack Overflow or respective owner

Related posts about c#