Save thumbnails as PNG to allow transparency

This commit is contained in:
KN4CK3R
2019-07-10 22:12:02 +02:00
committed by Frédéric Guillot
parent d3d5522432
commit 1a39c46620
3 changed files with 9 additions and 6 deletions

View File

@@ -10,7 +10,7 @@ namespace Kanboard\Core;
*/
class Thumbnail
{
protected $quality = 95;
protected $compression = -1;
protected $metadata = array();
protected $srcImage;
protected $dstImage;
@@ -124,6 +124,9 @@ class Thumbnail
$this->dstImage = imagecreatetruecolor($width, $height);
}
imagealphablending($this->dstImage, false);
imagesavealpha($this->dstImage, true);
imagecopyresampled($this->dstImage, $this->srcImage, $dstX, $dstY, 0, 0, $dstWidth, $dstHeight, $srcWidth, $srcHeight);
return $this;
@@ -138,7 +141,7 @@ class Thumbnail
*/
public function toFile($filename)
{
imagejpeg($this->dstImage, $filename, $this->quality);
imagepng($this->dstImage, $filename, $this->compression);
imagedestroy($this->dstImage);
imagedestroy($this->srcImage);
return $this;
@@ -153,7 +156,7 @@ class Thumbnail
public function toString()
{
ob_start();
imagejpeg($this->dstImage, null, $this->quality);
imagepng($this->dstImage, null, $this->compression);
imagedestroy($this->dstImage);
imagedestroy($this->srcImage);
return ob_get_clean();
@@ -166,7 +169,7 @@ class Thumbnail
*/
public function toOutput()
{
imagejpeg($this->dstImage, null, $this->quality);
imagepng($this->dstImage, null, $this->compression);
imagedestroy($this->dstImage);
imagedestroy($this->srcImage);
}