[BUGFIX] Fix cropping of transparent gifs with im6. 96/13996/8
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Thu, 25 Apr 2013 12:06:49 +0000 (14:06 +0200)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Tue, 17 Sep 2013 15:58:41 +0000 (17:58 +0200)
The usage of the ! operator to force cropping empty image
canvas is inverted between ImageMagick v4 and v6 while
GraphicsMagick accepts both syntaxes. Because im4 is
deprecated, we can always use im6 syntax.

Fixes: #19045
Releases: 6.2, 6.1, 6.0
Change-Id: Iee1260a94f2686a512ce1b1df65c384319a4c4de
Reviewed-on: https://review.typo3.org/13996
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Felix Buenemann
Tested-by: Felix Buenemann
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php

index 4ffe2a9..ea0b13a 100644 (file)
@@ -2284,7 +2284,7 @@ class GraphicalFunctions {
                                        }
                                        $offsetX = intval(($data[0] - $data['origW']) * ($data['cropH'] + 100) / 200);
                                        $offsetY = intval(($data[1] - $data['origH']) * ($data['cropV'] + 100) / 200);
-                                       $params .= ' -crop ' . $data['origW'] . 'x' . $data['origH'] . '+' . $offsetX . '+' . $offsetY . ' ';
+                                       $params .= ' -crop ' . $data['origW'] . 'x' . $data['origH'] . '+' . $offsetX . '+' . $offsetY . '! ';
                                }
                                $command = $this->scalecmd . ' ' . $info[0] . 'x' . $info[1] . '! ' . $params . ' ';
                                $cropscale = $data['crs'] ? 'crs-V' . $data['cropV'] . 'H' . $data['cropH'] : '';