using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShenTun.ImageCollection.Common { public class ImageHelper { public static string ConvertImageToBase64(Image file) { using (MemoryStream memoryStream = new MemoryStream()) { file.Save(memoryStream, file.RawFormat); byte[] imageBytes = memoryStream.ToArray(); return Convert.ToBase64String(imageBytes); } } public static 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); } } public static Image GetImage(byte[] str) { MemoryStream ms = new MemoryStream(str); Image img = System.Drawing.Image.FromStream(ms); return img; } public static Image GetImage(MemoryStream mstr) { MemoryStream ms = mstr; Image img = System.Drawing.Image.FromStream(ms); return img; } public static ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; } public static string GetLoaclPath(string path,string dirName) { DateTime dt = DateTime.Now; string year = dt.Year.ToString(); string month = dt.Month.ToString(); string day = dt.Day.ToString(); string file_path = path + "\\" + year + "\\" + month + "\\" + day + "\\" + dirName; //如果日期的文件夹不存在 if (!Directory.Exists(file_path)) { //创建一个日期的文件夹 Directory.CreateDirectory(file_path); } return file_path; } } }