Unerwünschter Halo-Effekt beim Versuch, transparente Ebenen abzuschneiden
Posted: 23 Jan 2025, 08:07
Ich versuche, zwei Bilder zusammenzufügen.
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
Ich erhalte einen Effekt, der nicht beabsichtigt ist und tatsächlich so aussieht, wie dieses Bild aussehen würde, wenn es nicht in Photoshop zusammengeschnitten worden wäre. Siehe das linke Bild unten.

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.
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.