瀏覽代碼

process all images using Format32bppPArgb

Luke Pulverenti 11 年之前
父節點
當前提交
d18f000e88

+ 2 - 2
MediaBrowser.Controller/Drawing/ImageExtensions.cs

@@ -167,7 +167,7 @@ namespace MediaBrowser.Controller.Drawing
             }
 
             // Graphics.FromImage will throw an exception if the PixelFormat is Indexed, so we need to handle that here
-            var thumbnail = bmp.PixelFormat == PixelFormat.Indexed ? new Bitmap(croppedWidth, croppedHeight) : new Bitmap(croppedWidth, croppedHeight, bmp.PixelFormat);
+            var thumbnail = new Bitmap(croppedWidth, croppedHeight, PixelFormat.Format32bppPArgb);
 
             // Preserve the original resolution
             thumbnail.SetResolution(bmp.HorizontalResolution, bmp.VerticalResolution);
@@ -178,7 +178,7 @@ namespace MediaBrowser.Controller.Drawing
                 thumbnailGraph.SmoothingMode = SmoothingMode.HighQuality;
                 thumbnailGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
                 thumbnailGraph.PixelOffsetMode = PixelOffsetMode.HighQuality;
-                thumbnailGraph.CompositingMode = CompositingMode.SourceOver;
+                thumbnailGraph.CompositingMode = CompositingMode.SourceCopy;
 
                 thumbnailGraph.DrawImage(bmp,
                   new RectangleF(0, 0, croppedWidth, croppedHeight),

+ 1 - 1
MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs

@@ -163,7 +163,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
                             var newHeight = Convert.ToInt32(newSize.Height);
 
                             // Graphics.FromImage will throw an exception if the PixelFormat is Indexed, so we need to handle that here
-                            using (var thumbnail = !ImageExtensions.IsPixelFormatSupportedByGraphicsObject(originalImage.PixelFormat) ? new Bitmap(originalImage, newWidth, newHeight) : new Bitmap(newWidth, newHeight, originalImage.PixelFormat))
+                            using (var thumbnail = new Bitmap(newWidth, newHeight, PixelFormat.Format32bppPArgb))
                             {
                                 // Preserve the original resolution
                                 thumbnail.SetResolution(originalImage.HorizontalResolution, originalImage.VerticalResolution);