diff --git a/QuickLook.Plugin/QuickLook.Plugin.ImageViewer/AnimatedImage/Providers/ImageMagickProvider.cs b/QuickLook.Plugin/QuickLook.Plugin.ImageViewer/AnimatedImage/Providers/ImageMagickProvider.cs index 63503dd..eb7c68d 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.ImageViewer/AnimatedImage/Providers/ImageMagickProvider.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.ImageViewer/AnimatedImage/Providers/ImageMagickProvider.cs @@ -92,8 +92,19 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage.Providers try { - using (var mi = new MagickImage(Path.LocalPath, settings)) + using (MagickImageCollection layers = new MagickImageCollection(Path.LocalPath, settings)) { + IMagickImage mi; + // Only flatten multi-layer gimp xcf files. + if (Path.LocalPath.EndsWith(".xcf") && layers.Count > 1) + { + // Flatten crops layers to canvas + mi = layers.Flatten(MagickColor.FromRgba(0, 0, 0, 0)); + } + else + { + mi = layers[0]; + } if (SettingHelper.Get("UseColorProfile", false, "QuickLook.Plugin.ImageViewer")) { if (mi.ColorSpace == ColorSpace.RGB || mi.ColorSpace == ColorSpace.sRGB || mi.ColorSpace == ColorSpace.scRGB)