Files
PictureHandlingProject/ImageHandlingUI/ViewModels/ShellViewModel.cs
2020-07-28 08:20:51 +02:00

72 lines
2.4 KiB
C#

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