only call set resolution if we have positive x and y values

This commit is contained in:
Luke Pulverenti 2014-01-05 16:53:22 -05:00
parent a01ee815fb
commit 6ed380ed1b
2 changed files with 16 additions and 2 deletions

View File

@ -170,7 +170,7 @@ namespace MediaBrowser.Controller.Drawing
var thumbnail = new Bitmap(croppedWidth, croppedHeight, PixelFormat.Format32bppPArgb);
// Preserve the original resolution
thumbnail.SetResolution(bmp.HorizontalResolution, bmp.VerticalResolution);
TrySetResolution(thumbnail, bmp.HorizontalResolution, bmp.VerticalResolution);
using (var thumbnailGraph = Graphics.FromImage(thumbnail))
{
@ -188,6 +188,20 @@ namespace MediaBrowser.Controller.Drawing
return thumbnail;
}
/// <summary>
/// Tries the set resolution.
/// </summary>
/// <param name="bmp">The BMP.</param>
/// <param name="x">The x.</param>
/// <param name="y">The y.</param>
private static void TrySetResolution(Bitmap bmp, float x, float y)
{
if (x > 0 && y > 0)
{
bmp.SetResolution(bmp.HorizontalResolution, bmp.VerticalResolution);
}
}
/// <summary>
/// Determines whether or not a row of pixels is all whitespace
/// </summary>

View File

@ -229,7 +229,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
using (var thumbnail = new Bitmap(newWidth, newHeight, PixelFormat.Format32bppPArgb))
{
// Mono throw an exeception if assign 0 to SetResolution
if (originalImage.HorizontalResolution >= 0 && originalImage.VerticalResolution >= 0)
if (originalImage.HorizontalResolution > 0 && originalImage.VerticalResolution > 0)
{
// Preserve the original resolution
thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);