diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Drawing/ImageHeader.cs | 29 |
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 + }; } } |
