本教程說明如何在C#.NET Windows Forms Application中將圖像轉換為base64字符串,以及將base64字符串轉換為圖像。
您可以創建一個新的Windows窗體應用程序項目來演示,然后從Visual Studio工具箱中將圖片框,標簽和按鈕拖到Winform中,然后設計一個簡單的UI,該UI允許您從硬盤中選擇圖像,然后進行轉換如下圖所示,將圖像轉換為base64字符串或將編碼后的base64字符串轉換為c#中的image。
要將圖像轉換為base64字符串,可以創建一個ConvertImageToBase64方法,如下所示。
public string ConvertImageToBase64(Image file) { using (MemoryStream memoryStream = new MemoryStream()) { file.Save(memoryStream, file.RawFormat); byte[] imageBytes = memoryStream.ToArray(); return Convert.ToBase64String(imageBytes); } }
該 ConvertImageToBase64讀取圖像,然后保存圖像到內存流,並轉換為base64字符串。
同樣,要將轉換為圖像的base64字符串轉換為圖像,可以創建一個ConvertBase64ToImage方法,如下所示。
public Image ConvertBase64ToImage(string base64String) { byte[] imageBytes = Convert.FromBase64String(base64String); using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) { ms.Write(imageBytes, 0, imageBytes.Length); return Image.FromStream(ms, true); } }
我們將base64字符串轉換為字節數組,然后寫入內存流,最后從該流返回圖像。
接下來,單擊Image To Base64按鈕,然后在c#中將click事件處理程序添加為以下代碼。
private void btnImageToBase64_Click(object sender, EventArgs e) { using (Image image = picOriginal.Image.Clone() as Image) { txtBase64.Text = ConvertImageToBase64(image); } }
將Base64轉為圖像
private void btnBase64ToImage_Click(object sender, EventArgs e) { picBase64ToImage.Image = ConvertBase64ToImage(txtBase64.Text); }