web-dev-qa-db-fra.com

Comment enregistrer PictureBox.Image dans un fichier?

J'utilise ce qui suit pour écrire jpgImage dans un PictureBox.Image.

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

et je peux utiliser ce qui suit pour écrire un tableau d'octets dans un fichier

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

mais comment puis-je obtenir le tableau d'octets jpgImage à partir de PictureBox.Image afin que je puisse l'écrire dans le fichier? IOW: comment inverser ce qui suit pour obtenir le tableau d'octets de PictureBox.Image?

pictureBox.Image = new Bitmap(new MemoryStream(jpgImage));
12
jacknad

Essaye ça

pictureBox.Image.Save(@"Path",ImageFormat.Jpeg);
30
Donatas K.

Vous pouvez utiliser,

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

Exemple:

 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);
8
adatapost