aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs29
1 files changed, 9 insertions, 20 deletions
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs b/MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs
index e9c67bf48..81d4a786a 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.IO;
+using ImageMagickSharp;
+using MediaBrowser.Common.IO;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Logging;
using System;
@@ -61,27 +62,15 @@ namespace MediaBrowser.Server.Implementations.Drawing
logger.Info("Failed to read image header for {0}. Doing it the slow way.", path);
}
- // Buffer to memory stream to avoid image locking file
- using (var fs = fileSystem.GetFileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
+ using (var wand = new MagickWand(path))
{
- using (var memoryStream = new MemoryStream())
- {
- fs.CopyTo(memoryStream);
-
- memoryStream.Position = 0;
-
- // Co it the old fashioned way
- using (var b = System.Drawing.Image.FromStream(memoryStream, true, false))
- {
- var size = b.Size;
+ var img = wand.CurrentImage;
- return new ImageSize
- {
- Width = size.Width,
- Height = size.Height
- };
- }
- }
+ return new ImageSize
+ {
+ Width = img.Width,
+ Height = img.Height
+ };
}
}