2011-07-27 6 views
10

Korzystam z poniższych, aby napisać jpgImage do PictureBox.Image.Jak zapisać plik PictureBox.Image do pliku?

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

i mogę użyć następujących napisać tablicę bajtów do pliku

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

ale w jaki sposób mogę uzyskać bajt tablicę jpgImage z PictureBox.Image więc mogę pisać do pliku ? IOW: jak mogę odwrócić następujące czynności, aby uzyskać tablicę bajtów z PictureBox.Image?

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

Odpowiedz

27

Spróbuj

pictureBox.Image.Save(@"Path",ImageFormat.Jpeg); 
+0

Użyłem tej PicBox.Image.Save (SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp); \t \t \t \t jest obraz w picbox ale zapisany obraz jest pełen czarny –

+0

Co ścieżka jest jak pbImg.Image.Save (@ "D: \ Kishan \ ki.jpg"); – Kishan

7

Można użyć,

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

Przykład:

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); 
+2

Lepiej wspomnij o tej odpowiedzi tylko na drugie pytanie .. –