From 8b409f3870f057c4f54306668a4b71f39acd2be9 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sat, 6 Jan 2024 14:16:56 +0100 Subject: [PATCH] Fix bug Imagick renders full transparent colors as black. But I want to render a color like "rgba(255, 255, 255, 0)" as white in a image with no transparency. --- src/Drivers/Imagick/Encoders/JpegEncoder.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Drivers/Imagick/Encoders/JpegEncoder.php b/src/Drivers/Imagick/Encoders/JpegEncoder.php index c95ab1fa..acedb9f6 100644 --- a/src/Drivers/Imagick/Encoders/JpegEncoder.php +++ b/src/Drivers/Imagick/Encoders/JpegEncoder.php @@ -22,6 +22,10 @@ class JpegEncoder extends DriverSpecializedEncoder ->colorProcessor($image->colorspace()) ->colorToNative($image->blendingColor()); + // set alpha value to 1 because Imagick renders + // possible full transparent colors as black + $background->setColorValue(Imagick::COLOR_ALPHA, 1); + $imagick = $image->core()->native(); $imagick->setImageBackgroundColor($background); $imagick->setBackgroundColor($background);