C# Base64圖片 與 Image物件互轉
C# Base64圖片 與 Image物件互轉
資料來源: https://dotblogs.com.tw/kevinya/2018/12/13/151737
01.base64圖片字串 轉 Image物件:
/// <summary>
/// base 64字串格式的圖片轉成Image物件
/// </summary>
/// <param name="base64String"></param>
/// <returns></returns>
public static Image Base64StringToImage(string base64String)
{
// Convert base 64 string to byte[]
byte[] Buffer = Convert.FromBase64String(base64String);
byte[] data = null;
Image oImage = null;
MemoryStream oMemoryStream = null;
Bitmap oBitmap = null;
//建立副本
data = (byte[])Buffer.Clone();
try
{
oMemoryStream = new MemoryStream(data);
//設定資料流位置
oMemoryStream.Position = 0;
oImage = System.Drawing.Image.FromStream(oMemoryStream);
//建立副本
oBitmap = new Bitmap(oImage);
}
catch
{
throw;
}
finally
{
oMemoryStream.Close();
oMemoryStream.Dispose();
oMemoryStream = null;
}
//return oImage;
return oBitmap;
}
02.Image物件 轉 base64圖片:
public string ImageToBase64(Image image,System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
// Convert byte[] to base 64 string
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}