2010-08-21 7 views
9

Voici la chose.PHP Imagick setImageOpacity détruit la transparence et ne fait rien

Je Hava d'un simple extrait en PHP comme ceci au sujet d'une image transparente:

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

La sortie de fichier doit être une image transparente avec une opacité plus faible, non? Eh bien, la sortie est une image avec une couleur noire où elle était censée être transparente et l'opacité de l'image est exactement la même.

Est-ce que cela a à voir avec la configuration ou est-ce qu'il me manque quelque chose?

Nous vous remercions à l'avance

+1

Vous devriez accepter une réponse à vos questions ... je vois que vous avez beaucoup de questions mais vous n'acceptez pas les réponses. – Quamis

+0

veuillez accepter les réponses. !! – JayKandari

Répondre

32

setImageOpacity affecte malheureusement l'image, afin de laisser les zones transparentes transparente remplacer im- $> setImageOpacity (0,3); avec:

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

+0

Thnx pour la réponse, je vais essayer et vous faire savoir si cela fonctionne :) – Fotis

+1

Hey, avez-vous réussi à le faire fonctionner à la fin? – Paul

+0

+1: Fonctionne très bien pour moi. – scotts