using Caliburn.Micro; using System; using System.Collections.Generic; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Imaging; namespace ImageHandlingUI.ViewModels { public class ShellViewModel : Conductor { public ShellViewModel() { //using (var ms = new MemoryStream()) //{ // System.Drawing.Image.FromFile(@"D:\CsharpDevelop\PictureHandlingProject\pictures\AgueroVillage.JPG").Save(ms, ImageFormat.Bmp); // ms.Seek(0, SeekOrigin.Begin); // var bitmapImage = new BitmapImage(); // bitmapImage.BeginInit(); // bitmapImage.CacheOption = BitmapCacheOption.OnLoad; // bitmapImage.StreamSource = ms; // bitmapImage.EndInit(); // _selectedImage = bitmapImage; //} //_selectedImage = System.Drawing.Image.FromFile(@"D:\CsharpDevelop\PictureHandlingProject\pictures\AgueroVillage.JPG"); initialFileName = @"D:\CsharpDevelop\PictureHandlingProject\pictures\AgueroVillage.JPG"; _selectedImage = ConvertFromDrawImage(System.Drawing.Image.FromFile(InitialFileName)); } ImageSource _selectedImage = null; private string initialFileName; public ImageSource SelectedImage { get { return _selectedImage; } set { _selectedImage = value; NotifyOfPropertyChange(() => SelectedImage); } } public string InitialFileName { get => initialFileName; set => initialFileName = value; } private static BitmapImage ConvertFromDrawImage(System.Drawing.Image _image) { using (var ms = new MemoryStream()) { //System.Drawing.Image.FromFile(@"D:\CsharpDevelop\PictureHandlingProject\pictures\AgueroVillage.JPG").Save(ms, ImageFormat.Bmp); _image.Save(ms, ImageFormat.Bmp); ms.Seek(0, SeekOrigin.Begin); var bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource = ms; bitmapImage.EndInit(); return bitmapImage; } } } }