Generer une image avec transparence
le 30/06/2007 à 20:40
Slt tlm,
je veux créer une miniature d'une image png qui contient des pixels transparents. Seulement, avec le bout de code qui suit, les pixels transparents sont replacés en pixels noirs.
<?php $src = imagecreatefrompng ( $srcImg ) ; $dstImg = imagecreatetruecolor ( $newWidth , $newHeight ) ; imagecopyresampled ( $dstImg , $src , 0 , 0 , 0 , 0 , $newWidth , $newHeight , $width , $height ) ; imagepng ( $dstImg , $dirDest . $nameImgApercu ) ; ?>
Merci bp!
le 30/06/2007 à 21:33
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Il faut sauver le canal alpha de ton PNG avant de redimensionner le truc :
<?php
$srcImg = 'pom.png' ; $newWidth = 80 ; $newHeight = 80 ; $width = 256 ; $height = 256 ; $src = imagecreatefrompng ( $srcImg ) ; $dstImg = imagecreatetruecolor ( $newWidth , $newHeight ) ; imagealphablending ( $dstImg , false ) ; imagesavealpha ( $dstImg , true ) ; imagecopyresized ( $dstImg , $src , 0 , 0 , 0 , 0 , $newWidth , $newHeight , $width , $height ) ; imagepng ( $dstImg , 'mini.png' ) ; ?>
Enjoy :)
le 01/07/2007 à 20:05
ok merci, ca marche nickel.
Mais j'ai oublier de demander comment faire la meme chose avec un gif.
D'autre part, y a-t-il un moment précis pour utiliser la fonction imagerotate() car elle ne fonctionne pas.
Pour info, je l'utilise entre imagecopyresampled() et le header
+++
le 01/07/2007 à 23:05
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Pour un gif, j'ai fais çà :
<?php
$src = imagecreatefromgif ( $srcImg ) ; $dstImg = imagecreatetruecolor ( $newWidth , $newHeight ) ; $white = imagecolorallocate ( $dstImg , 255 , 255 , 255 ) ; imagefill ( $dstImg , 0 , 0 , $white ) ; imageColorTransparent ( $dstImg , $white ) ; imagecopyresampled ( $dstImg , $src , 0 , 0 , 0 , 0 , $newWidth , $newHeight , $width , $height ) ; imagegif ( $dstImg , 'mini.gif' ) ; ?>
Mais le résultat n'est pas top.
Je chercherais sur le net demain.
Pour le imagerotate, j'ai repris l'exemple du manuel PHP, et il fonctionne sans problème.
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter