2012-09-28 1 views
0

J'ai une image PNG avec un masque alpha. Je veux générer une ombre pour cette image, qui utiliserait le masque alpha.PHP: Comment créer une ombre à une image en utilisant un masque alpha

a picture is worth thousand words http://www.brunet.fr/alpha.jpg

Je suppose que je devrais:

  1. obtenir le masque alpha de la première image
  2. remplir avec la couleur appropriée, et la rendre floue
  3. créer un nouveau vide composer l'image avec l'ombre en premier, et la première image

Mais je ne trouve nulle part quelques conseils, surtout pour la première partie.

Editer: j'ai trouvé un début de réponse here Je l'ai essayé et je vous le ferai savoir.

Merci

+0

fournissez votre fichier .png d'abord, s'il vous plaît. –

+0

[exemple d'image] (http://crm.brunet.pro/images/produits/1565.png) – Matthieu

Répondre

1

Au début, vous devez installer le php poste nommé: Imagick

<?php 
/* Read the image into the object */ 
$im = new Imagick('a.png'); 
$im->setImageFormat("png"); 

/* Make the image a little smaller, maintain aspect ratio */ 
$im->thumbnailImage(200, null); 

/* Clone the current object */ 
$shadow = $im->clone(); 

/* Set image background color to black 
     (this is the color of the shadow) */ 
$shadow->setImageBackgroundColor(new ImagickPixel('black')); 

/* Create the shadow */ 
$shadow->shadowImage(80, 3, 5, 5); 

/* Imagick::shadowImage only creates the shadow. 
     That is why the original image is composited over it */ 
$shadow->compositeImage($im, Imagick::COMPOSITE_OVER, 0, 0); 

/* Display the image */ 
header("Content-Type: image/png"); 
echo $shadow; 
+0

cela fonctionne !! Merci ! J'essaie toujours de comprendre comment cela fonctionne, mais cela fonctionne – Matthieu

+0

En fait, l'option d'ombre Image Magick utilise la couche alpha. C'est simple comme ça! – Matthieu

+0

@ Matthieu, lol vous pouvez parcourir le manuel pour savoir comment cela fonctionne –

Questions connexes