diff --git a/CatalogLib/IImageProcessor.cs b/CatalogLib/IImageProcessor.cs index 610977c..fc08d94 100644 --- a/CatalogLib/IImageProcessor.cs +++ b/CatalogLib/IImageProcessor.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -8,6 +9,6 @@ namespace CatalogLib { public interface IImageProcessor { - + void Start(FileInfo workFile); } } diff --git a/CatalogLib/ImgSharpCreator.cs b/CatalogLib/ImgSharpCreator.cs index 3877d82..b62bf6e 100644 --- a/CatalogLib/ImgSharpCreator.cs +++ b/CatalogLib/ImgSharpCreator.cs @@ -14,11 +14,61 @@ namespace CatalogLib { public void Start(FileInfo workFile) { - using (Image image = new Image(workFile.Name)) + using (Image image = new Image(workFile.FullName)) { - JpegDecoder j = new JpegDecoder(); - - image.Resize(200, 200).Save(""); + if (PicSettings.Instance.UsaRotazioneAutomatica) + { + + + var exif = image.MetaData.ExifProfile; + if (exif != null) + { + var o = exif.GetValue(ExifTag.Orientation); + if (o != null) + { + int v = (int) o.Value; + switch (v) + { + + +//1 = Horizontal(normal) +//2 = Mirror horizontal +//3 = Rotate 180 +//4 = Mirror vertical +//5 = Mirror horizontal and rotate 270 CW +//6 = Rotate 90 CW +//7 = Mirror horizontal and rotate 90 CW +//8 = Rotate 270 CW + case 1: + break; + case 2: + break; + case 3: + image.Rotate(180); + break; + case 4: + break; + case 5: + break; + case 6: + image.Rotate(90); + break; + case 7: + break; + case 8: + image.Rotate(-90); + break; + + + } + } + } + + } + + //JpegDecoder j = new JpegDecoder(); + image.Save(Path.Combine(PicSettings.Instance.DirectoryDestinazione,workFile.Name)); + //image.Resize(200, 200).Save(""); } } diff --git a/WPFCatalog/MainWindowViewModel.cs b/WPFCatalog/MainWindowViewModel.cs index 9d35f51..9ef7a63 100644 --- a/WPFCatalog/MainWindowViewModel.cs +++ b/WPFCatalog/MainWindowViewModel.cs @@ -61,7 +61,9 @@ namespace WPFCatalog foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente)) { - ImageCreator2 i = new ImageCreator2(); + IImageProcessor i = new ImgSharpCreator(); + + //ImageCreator2 i = new ImageCreator2(); i.Start(new FileInfo(file)); } DialogHelper.PopUpAlert("Finished", "message");