For xcf files, compose layers before scaling
authorBrian Wolff <bawolff+wn@gmail.com>
Sun, 20 Jul 2014 14:44:50 +0000 (11:44 -0300)
committerBrian Wolff <bawolff+wn@gmail.com>
Sun, 20 Jul 2014 14:44:50 +0000 (11:44 -0300)
Otherwise if some layers are a different size than the overall
image, the output will be distorted as all the layers will be
resized.

An example of such a file is the 2007 version of
[[File:Blason_Saint-Malo.xcf]] (Need a version of image magick
newer than production to see the issue).

Bug: 35622
Change-Id: Ibbe8645afc151b0e9b658f762497071d67be3836

includes/media/Bitmap.php

index 9a3e927..c0d9b71 100644 (file)
@@ -366,7 +366,7 @@ class BitmapHandler extends ImageHandler {
                        // background colour. After merging we reset the background
                        // to be white for the default background colour setting
                        // in the PNG image (which is used in old IE)
-                       $animation_post = array(
+                       $animation_pre = array(
                                '-background', 'transparent',
                                '-layers', 'merge',
                                '-background', 'white',
@@ -382,7 +382,7 @@ class BitmapHandler extends ImageHandler {
                                // bug 66323 - Greyscale images not rendered properly.
                                // So only take the "red" channel.
                                $channelOnly = array( '-channel', 'R', '-separate' );
-                               $animation_post = array_merge( $animation_post, $channelOnly );
+                               $animation_pre = array_merge( $animation_pre, $channelOnly );
                        }
                }