Eines kommt nach unten. Es hat keine Auswirkungen.

Der zweite geht nach oben. Es sollte den Effekt einer Multiplikation haben.

Aber wenn ich diese Bilder so zusammenfüge
Code: Select all
header('Content-Type: image/png');
//Top image
$multiply = new Imagick();
$multiply->readImage("https://i.imgur.com/EZVN4Ws.png");
//Bottom image
$clipinto = new Imagick();
$clipinto->readImage("https://i.imgur.com/5XZqE7T.png");
//
//The two commented out did not solve the problem.
//$multiply->compositeImage($clipinto, Imagick::COMPOSITE_COPYOPACITY, 0, 0);
//$multiply->compositeImage($clipinto, Imagick::COMPOSITE_DSTIN, 0, 0, Imagick::CHANNEL_ALPHA);
//
//Multiply the top image into the buttom image
$clipinto->compositeImage($multiply, Imagick::COMPOSITE_MULTIPLY, 0, 0);
//See image
echo $clipinto;

Was ist der richtige Weg, um den rechts gezeigten Effekt zu erzielen? Ich hatte versucht
COMPOSITE_COPYOPACITY
und COMPOSITE_DSTIN
Aber diese scheinen das Problem zu verschlimmern oder mir den gleichen Effekt zu geben. Ich würde es vorziehen, wenn dies auch mit anderen Stilen wie OVERLAY möglich wäre, da dieses Beschneidungsproblem alle Ebenenstile betrifft.