Traitement img avec GD

Eléphant du PHP | 447 Messages

15 mars 2010, 00:03

Hi,

sauriez-vous s'il est possible de modifier une image en y ajoutant un dégradé sur une zone donnée?

Exemple en image:

L'image de départ
Image

Et l'image après modification
Image

Voilà donc exactement c'est que je veux faire: ajouter un dégradé vertical de noir vers transparent sur toute la largeur du bas de l'image...
Probably (only a) Human Problem?

Eléphant du PHP | 447 Messages

15 mars 2010, 00:40

J'ai trouvé de bonnes info: http://php.net/manual/fr/book.image.php

Cet exemple qui y est proposé peut répondre à mon besoin:
<?php
// Charge le cachet et la photo afin d'y appliquer le tatouage numérique
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Définit les marges pour le cachet et récupère la hauteur et la largeur de celui-ci
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copie le cachet sur la photo en utilisant les marges et la largeur de la
// photo originale  afin de calculer la position du cachet 
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Affichage et libération de la mémoire
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Probably (only a) Human Problem?