using System; using System.Drawing; using System.IO; using System.Windows.Media.Imaging; namespace PWAPPv2.Source.DataObjects { public class PWImage { private string ImagePath; private BitmapImage bitmap; public string FileType { get; } //private Bitmap bmp; //private Bitmap thumb; //private Bitmap zoom; public PWImage(string path) { ImagePath = path; bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.UriSource = new Uri(@ImagePath); bitmap.DecodePixelWidth = 100; bitmap.EndInit(); string extension = Path.GetExtension(path).ToLower(); if(extension == ".jpeg" || extension == ".jpg") { FileType = "image/jpeg"; } else if(extension == ".png") { FileType = "image/png"; } //bmp = (Bitmap)System.Drawing.Image.FromFile(ImagePath); //thumb = resize(bmp, 50, 50); //zoom = resize(bmp, bmp.Width, bmp.Height); } public string GetPath() { return ImagePath; } public BitmapImage GetBitmapImage() { return bitmap; } public string GetBase64String() { using (System.Drawing.Image image = System.Drawing.Image.FromFile(ImagePath)) { using (MemoryStream m = new MemoryStream()) { image.Save(m, image.RawFormat); byte[] imageBytes = m.ToArray(); return Convert.ToBase64String(imageBytes); } } } public string GetBase64ThumbString() { using (System.Drawing.Image image = System.Drawing.Image.FromFile(ImagePath)) { Image thumb = resize(image, new Size(50, 50)); using (MemoryStream m = new MemoryStream()) { thumb.Save(m, image.RawFormat); byte[] imageBytes = m.ToArray(); return Convert.ToBase64String(imageBytes); } } } public string GetBase64ZoomString() { using (System.Drawing.Image image = System.Drawing.Image.FromFile(ImagePath)) { Image zoom = resize(image, new Size(image.Width + 800, image.Height + 800)); using (MemoryStream m = new MemoryStream()) { zoom.Save(m, image.RawFormat); byte[] imageBytes = m.ToArray(); return Convert.ToBase64String(imageBytes); } } } private Image resize(Image toResize, Size size) { return new Bitmap(toResize, size); } public string ShortFileName() { return ImagePath.Substring(ImagePath.LastIndexOf("\\") + 1); } public string GetJsonContents() { string str = "'Base64FileContents':'" + GetBase64String() + "',\n" + "'Base64ThumbContents':'" + GetBase64ThumbString() + "',\n" + "'Base64ZoomContents':'" + GetBase64ZoomString() + "'\n"; return str; } } }