diff options
author | Georg Ehrke <developer@georgehrke.com> | 2014-07-30 12:16:03 +0200 |
---|---|---|
committer | Jan-Christoph Borchardt <hey@jancborchardt.net> | 2014-07-30 18:37:51 +0200 |
commit | f68fa072c7f63b15268f1166c81704aaf0a4e8a8 (patch) | |
tree | 2c36632b16dc0b6aac7f26f2995a18b025ef382c /lib | |
parent | 4f40cde66afe2376ede177020882e5236a5a3373 (diff) | |
download | nextcloud-server-f68fa072c7f63b15268f1166c81704aaf0a4e8a8.tar.gz nextcloud-server-f68fa072c7f63b15268f1166c81704aaf0a4e8a8.zip |
extract transparency fix from #8050
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/image.php | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/private/image.php b/lib/private/image.php index 5331c399159..0dff8c5a9da 100644 --- a/lib/private/image.php +++ b/lib/private/image.php @@ -870,6 +870,14 @@ class OC_Image { imagedestroy($process); return false; } + + // preserve transparency + if($this->imageType == IMAGETYPE_GIF or $this->imageType == IMAGETYPE_PNG) { + imagecolortransparent($process, imagecolorallocatealpha($process, 0, 0, 0, 127)); + imagealphablending($process, false); + imagesavealpha($process, true); + } + imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $w, $h, $w, $h); if ($process == false) { OC_Log::write('core', __METHOD__.'(): Error resampling process image '.$w.'x'.$h, OC_Log::ERROR); |