PHP 8.4.6 Released!

Imagick::setImageMatte

(PECL imagick 2, PECL imagick 3)

Imagick::setImageMatteSets the image matte channel

Beschreibung

public Imagick::setImageMatte(bool $matte): bool

Sets the image matte channel. Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.2.9 oder höher kompiliert wurde.

Parameter-Liste

matte

True activates the matte channel and false disables it.

Rückgabewerte

Liefert true bei Erfolg.

add a note

User Contributed Notes 1 note

up
6
martin at psinas dot com
13 years ago
I found this method is needed when creating a font / image mask, and needs to be set to false otherwise the mask won't take effect. Here is an example:

<?php

/ Create objects
$image = new Imagick('myImage.png');
$watermark = new Imagick();
$mask = new Imagick();
$draw = new ImagickDraw();

/ Define dimensions
$width = $image->getImageWidth();
$height = $image->getImageHeight();

/ Create some palettes
$watermark->newImage($width, $height, new ImagickPixel('grey30'));
$mask->newImage($width, $height, new ImagickPixel('black'));

/ Watermark text
$text = 'Copyright';

/ Set font properties
$draw->setFont('Bookman-Demi');
$draw->setFontSize(20);
$draw->setFillColor('grey70');

/ Position text
$draw->setGravity(Imagick::GRAVITY_SOUTHEAST);

/ Draw text on the watermark palette
$watermark->annotateImage($draw, 10, 12, 0, $text);

/ Draw text on the mask palette
$draw->setFillColor('white');
$mask->annotateImage($draw, 11, 13, 0, $text);
$mask->annotateImage($draw, 10, 12, 0, $text);
$draw->setFillColor('black');
$mask->annotateImage($draw, 9, 11, 0, $text);

/ This is apparently needed for the mask to work
$mask->setImageMatte(false);

/ Apply mask to watermark
$watermark->compositeImage($mask, Imagick::COMPOSITE_COPYOPACITY, 0, 0);

/ Overlay watermark on image
$image->compositeImage($watermark, Imagick::COMPOSITE_DISSOLVE, 0, 0);

/ Set output image format
$image->setImageFormat('png');

/ Output the new image
header('Content-type: image/png');
echo
$image;

?>
To Top

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant