C#完成的圖片、string互相轉換類分享。本站提示廣大學習愛好者:(C#完成的圖片、string互相轉換類分享)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成的圖片、string互相轉換類分享正文
C#中,Image為源自 Bitmap 和 Metafile 的類供給功效的籠統基類,也就是說更通用,當我們用Image.FromFile("xxx")時創立出來的是Image的某個派生類實體,所以我用Image作為參數,而不是Bitmap之類的。
圖片在於string轉換的時刻中央借助於MemorySteam和Byte數組,上面是我寫的FormatChange類,外面兩個相互轉換的進程。固然這外面也就包括了圖片與Byte[]數組的互相轉換喽。
class FormatChange { public static string ChangeImageToString(Image image) { try { MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms.Read(arr, 0, (int)ms.Length); ms.Close(); string pic = Convert.ToBase64String(arr); return pic; } catch (Exception) { return "Fail to change bitmap to string!"; } } public static Image ChangeStringToImage(string pic) { try { byte[] imageBytes = Convert.FromBase64String(pic); //讀入MemoryStream對象 MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length); memoryStream.Write(imageBytes, 0, imageBytes.Length); //轉成圖片 Image image = Image.FromStream(memoryStream); return image; } catch (Exception) { Image image = null; return image; } } }