diff --git a/Disco.BI/app.config b/Disco.BI/app.config index d732e531..a5a8d368 100644 --- a/Disco.BI/app.config +++ b/Disco.BI/app.config @@ -60,6 +60,10 @@ + + + + diff --git a/Disco.Models/Disco.Models.csproj b/Disco.Models/Disco.Models.csproj index c8aeab5b..160f0a11 100644 --- a/Disco.Models/Disco.Models.csproj +++ b/Disco.Models/Disco.Models.csproj @@ -41,8 +41,8 @@ - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + ..\packages\System.ValueTuple.4.6.2\lib\net462\System.ValueTuple.dll diff --git a/Disco.Models/packages.config b/Disco.Models/packages.config index 7e6f04b5..00e91a4a 100644 --- a/Disco.Models/packages.config +++ b/Disco.Models/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Disco.Services.Plugins.ManifestGenerator/App.config b/Disco.Services.Plugins.ManifestGenerator/App.config index e14ddfa0..8ae84a3c 100644 --- a/Disco.Services.Plugins.ManifestGenerator/App.config +++ b/Disco.Services.Plugins.ManifestGenerator/App.config @@ -41,6 +41,10 @@ + + + + diff --git a/Disco.Services/App.config b/Disco.Services/App.config index cd29fb0f..380dcf5b 100644 --- a/Disco.Services/App.config +++ b/Disco.Services/App.config @@ -56,6 +56,10 @@ + + + + diff --git a/Disco.Services/Disco.Services.csproj b/Disco.Services/Disco.Services.csproj index 8e5ce064..09e2ae49 100644 --- a/Disco.Services/Disco.Services.csproj +++ b/Disco.Services/Disco.Services.csproj @@ -53,8 +53,8 @@ ..\packages\LumenWorks.Framework.IO.3.8.0\lib\net20\LumenWorks.Framework.IO.dll - - ..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll + + ..\packages\Microsoft.AspNet.SignalR.Core.2.4.3\lib\net45\Microsoft.AspNet.SignalR.Core.dll ..\packages\Microsoft.AspNetCore.Connections.Abstractions.9.0.0\lib\net462\Microsoft.AspNetCore.Connections.Abstractions.dll @@ -243,8 +243,8 @@ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + ..\packages\System.ValueTuple.4.6.2\lib\net462\System.ValueTuple.dll diff --git a/Disco.Services/Plugins/Features/DetailsProvider/DetailsProviderService.cs b/Disco.Services/Plugins/Features/DetailsProvider/DetailsProviderService.cs index 83a489be..ed30c9d2 100644 --- a/Disco.Services/Plugins/Features/DetailsProvider/DetailsProviderService.cs +++ b/Disco.Services/Plugins/Features/DetailsProvider/DetailsProviderService.cs @@ -53,6 +53,14 @@ namespace Disco.Services.Plugins.Features.DetailsProvider { using (var originalImage = Image.FromStream(originalStream)) { + if (originalImage.PropertyIdList.Contains(0x112)) + { + var orientation = BitConverter.ToUInt16(originalImage.GetPropertyItem(0x112).Value, 0); + if (orientation > 1 && orientation <= 8) + { + originalImage.RotateFlip(GetRotateFlipTypeByOrientation(orientation)); + } + } using (var resizedImage = originalImage.ResizeImage(192, Brushes.White)) { using (var savedResizedImage = (MemoryStream)resizedImage.SaveJpg(85)) @@ -99,5 +107,30 @@ namespace Disco.Services.Plugins.Features.DetailsProvider .ToDictionary(d => d.Key, d => d.Value, StringComparer.OrdinalIgnoreCase); } } + + private RotateFlipType GetRotateFlipTypeByOrientation(ushort orientation) + { + switch (orientation) + { + case 1: + return RotateFlipType.RotateNoneFlipNone; + case 2: + return RotateFlipType.RotateNoneFlipX; + case 3: + return RotateFlipType.Rotate180FlipNone; + case 4: + return RotateFlipType.RotateNoneFlipY; + case 5: + return RotateFlipType.Rotate270FlipX; + case 6: + return RotateFlipType.Rotate90FlipNone; + case 7: + return RotateFlipType.Rotate90FlipX; + case 8: + return RotateFlipType.Rotate270FlipNone; + default: + return RotateFlipType.RotateNoneFlipNone; + } + } } } diff --git a/Disco.Services/packages.config b/Disco.Services/packages.config index 67378cef..86850cc9 100644 --- a/Disco.Services/packages.config +++ b/Disco.Services/packages.config @@ -6,7 +6,7 @@ - + @@ -63,6 +63,6 @@ - + \ No newline at end of file diff --git a/Disco.Web.Extensions/App.config b/Disco.Web.Extensions/App.config index 7015d1ec..fbe4a458 100644 --- a/Disco.Web.Extensions/App.config +++ b/Disco.Web.Extensions/App.config @@ -56,6 +56,10 @@ + + + + diff --git a/Disco.Web/Disco.Web.csproj b/Disco.Web/Disco.Web.csproj index 83fa1731..7d7742a6 100644 --- a/Disco.Web/Disco.Web.csproj +++ b/Disco.Web/Disco.Web.csproj @@ -128,8 +128,8 @@ ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + ..\packages\System.ValueTuple.4.6.2\lib\net462\System.ValueTuple.dll diff --git a/Disco.Web/Web.config b/Disco.Web/Web.config index 1d3b915d..15846ae9 100644 --- a/Disco.Web/Web.config +++ b/Disco.Web/Web.config @@ -1,4 +1,4 @@ - +
@@ -113,6 +113,10 @@ + + + + diff --git a/Disco.Web/packages.config b/Disco.Web/packages.config index a440256e..d28be285 100644 --- a/Disco.Web/packages.config +++ b/Disco.Web/packages.config @@ -40,7 +40,7 @@ - +