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 @@
-
+