2011-07-27 80 views
10

我使用以下命令將jpgImage寫入PictureBox.Image。如何將PictureBox.Image保存到文件?

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

,我可以使用下面的字節數組寫入文件

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

,但我怎樣才能從PictureBox.Image的jpgImage字節數組,所以我可以將其寫入文件? IOW:我如何反轉以下以從PictureBox.Image獲取字節數組?

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

回答

27

試試這個

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

我已經使用這個 PicBox.Image.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp); \t \t \t \t 有圖片的picbox但保存的圖片是全黑 –

+0

什麼路徑就像pbImg.Image.Save(@ 「d:\基尚\ ki.jpg」); – Kishan

7

您可以使用,

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

例子:

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

你最好提到這個答案只有第二個問題.. –