2010-08-21 4 views
9

Hier ist das Ding.PHP Imagick setImageOpacity zerstört Transparenz und tut nichts

ich eine einfache Code-Schnipsel in PHP wie diese hava ein transparentes Bild in Bezug auf:

$im = new Imagick('some-transparent-image.png'); 
$im->setImageOpacity(0.3); 
$im->writeImage('output.png'); 

Die Dateiausgabe ein transparentes Bild mit niedriger Opazität sein sollte, nicht wahr?

Nun ist der Ausgang ein Bild mit schwarzer Farbe, wo es angeblich transparent und das Bild Opazität sein ist genau das gleiche.

Hat es mit der Konfiguration zu tun, oder ich etwas fehle?

Vielen Dank im Voraus

+1

Sie sollten eine Antwort auf Ihre Fragen akzeptieren ... ich sehe Sie viele Fragen haben, aber Sie nicht die Antworten akzeptieren. – Quamis

+0

freundlicherweise Antworten akzeptieren. !! – JayKandari

Antwort

32

setImageOpacity wirkt sich leider das ganze Bild, so dass die transparenten Bereiche transparent ersetzen im-> setImageOpacity (0,3) $ zu verlassen; mit:

$ im-> evaluateImage (Imagick :: EVALUATE_MULTIPLY, 0,3, Imagick :: CHANNEL_ALPHA);

+0

Thnx für die Antwort, ich werde versuchen, dass aus und lassen Sie wissen, ob es funktioniert :) – Fotis

+1

Hey, hast du es am Ende zum Laufen zu bringen? – Paul

+0

+1: Funktioniert gut für mich. – scotts