How to save PictureBox.Image to file?
Asked Answered
P

3

20

I use the following to write jpgImage to a PictureBox.Image.

var jpgImage = new Byte[jpgImageSize];
...
pictureBox.Image = new Bitmap(new MemoryStream(jpgImage));

and I can use the following to write a byte array to a file

using (var bw =
    new BinaryWriter(File.Open(filename, FileMode.Create,
        FileAccess.Write, FileShare.None)))
{
    bw.Write(jpgImage);
}

but how can I get the jpgImage byte array from the PictureBox.Image so I can write it to the file? IOW: how do I reverse the following to get the byte array from the PictureBox.Image?

pictureBox.Image = new Bitmap(new MemoryStream(jpgImage));
Placative answered 27/7, 2011 at 14:2 Comment(0)
A
44

Try this

pictureBox.Image.Save(@"Path",ImageFormat.Jpeg);
Ample answered 27/7, 2011 at 14:6 Comment(2)
i have used this PicBox.Image.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp); there is picture in the picbox but the saved picture is full blackCotton
What path is like pbImg.Image.Save(@"D:\Kishan\ki.jpg");Sismondi
G
7

You may use,

pictureBox.Image.Save(stream,System.Drawing.Imaging.ImageFormat.Jpeg);

Example:

 System.IO.MemoryStream ms = new System.IO.MemoryStream();
 pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
 byte[] ar = new byte[ms.Length];
 ms.Write(ar, 0, ar.Length);
Gatekeeper answered 27/7, 2011 at 14:13 Comment(0)
S
4

Use below code for save into custom location

using (SaveFileDialog saveFileDialog = new SaveFileDialog() {Filter = @"PNG|*.png"})
                    {
                        if (saveFileDialog.ShowDialog() == DialogResult.OK)
                        {
                            pictureBox.Image.Save(saveFileDialog.FileName);
                        }
                    }
Stilbestrol answered 22/5, 2021 at 4:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.