C# Base64圖片 與 Image物件互轉

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;
  }
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *