Unerwünschter Halo-Effekt beim Versuch, transparente Ebenen abzuschneidenPhp

PHP-Programmierer chatten hier
Guest
 Unerwünschter Halo-Effekt beim Versuch, transparente Ebenen abzuschneiden

Post by Guest »

Ich versuche, zwei Bilder zusammenzufügen.
Eines kommt nach unten. Es hat keine Auswirkungen.
Image

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

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

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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post