using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Web; namespace MobilePayService { public static class ImageHelper { /// /// Image转Base64 /// /// /// public static string ImageToBase64(Image image) { MemoryStream memoryStream = new MemoryStream(); image.Save(memoryStream, ImageFormat.Png); byte[] inArray = memoryStream.ToArray(); memoryStream.Close(); return Convert.ToBase64String(inArray); } /// /// Image转byte[] /// /// /// public static byte[] ImageToBytes(Image image) { ImageFormat format = image.RawFormat; using (MemoryStream ms = new MemoryStream()) { image.Save(ms, ImageFormat.Png); byte[] buffer = new byte[ms.Length]; //Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin ms.Seek(0, SeekOrigin.Begin); ms.Read(buffer, 0, buffer.Length); return buffer; } } public static Image Base64ToImage(string base64String) { byte[] imageBytes = Convert.FromBase64String(base64String); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); ms.Write(imageBytes, 0, imageBytes.Length); System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true); return image; } /// /// Byte[]转Image /// /// /// public static Image BytesToImage(this byte[] buffer) { MemoryStream ms = new MemoryStream(buffer); Image image = Image.FromStream(ms); return image; } public static Bitmap GetImageFromBase64(string base64string) { byte[] b = Convert.FromBase64String(base64string); MemoryStream ms = new MemoryStream(b); Bitmap bitmap = new Bitmap(ms); return bitmap; } } }