簡單的問題,我根本無法找到一個體面的答案。Image.Save需要額外的參數
我試圖內存圖像轉換爲字節數組,以便將其上傳爲Base64String
Bitmap CapSc()
{
using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using(Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
return bitmap;
}
}
Image toUpload;
toUpload = (Image)CapSc();
public static byte[] GetBytesFromImage(Image img)
{
if (img == null) return null;
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, img.RawFormat);
return stream.ToArray();
}
}
GetBytesFromImage(toUpload);
但是「img.Save」不斷返回錯誤的地方似乎需要第三paramater的EncoderParamaters,沒有示例代碼或MSDN上的開發人員解決方案說這是必要的,但它不斷返回錯誤,如果我有它存在與否。
具體錯誤是'參數不能爲空。 Paramater name:encoder'
任何幫助將不勝感激。
什麼'Image'類型是什麼?在不同的框架中有各種不同的... – 2014-10-17 14:59:02
System.Drawing.Image,最初返回爲位圖和轉換。 – ConnorLSW 2014-10-17 15:00:53
[C#Image to Byte \ [\] and Byte \ [\] to Image]的可能重複(http://stackoverflow.com/questions/8764280/c-sharp-image-to-byte-and-byte-to -image) – 2014-10-17 15:01:06