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