| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
link182 WRInaute impliqué

Inscrit le: 26 Juil 2005 Messages: 468 Localisation: 51 & 57
|
Posté le : Mar Fév 21, 2006 13:33 Sujet du message: [PHP-GD] Miniature et transparence. |
|
|
Bonjour,
comment dire à GD qu'il me mette un fond transparent et nonblanc lorsqu'il me crée ma miniature ?
Car je dois afficher mon image sur des fonds aux couleurs différents, et c'est moche si ce n'est pas transparent...
imagecolorallocate($dst_img, 255, 255, 255);
--> 255,255,25 c'est pour le fond blanc, mais pour mettre de la transparence ?
Voici la fonction complète de la création de ma miniature :
function resize($source, $destination, $width, $height, $stretch, $quality) {
// 1 - Gestion des erreurs :
if (!file_exists($source)){
echo "Erreur : Fichier inexistant !";
return false;
}
if (!function_exists("ImageCreateFromJpeg")){
echo "Erreur : Librairie GD non installée !";
return false;
}
// 2 - Lecture de l'image et de son extension :
$ext = strtolower(strrchr(basename($source),'.'));
if($ext==".jpg" || $ext==".jpe" || $ext==".jpeg"){
$src_img=imagecreatefromjpeg($source);
}else{
if($ext==".gif"){
$src_img=imagecreatefromgif($source);
}else{
if($ext==".png"){
$src_img=imagecreatefrompng($source);
}else{
echo "Erreur : Extension incorrecte.";
}
}
}
if (!$src_img){
echo "Erreur : Lecture impossible de l'image !";
return false;
}
$w = imagesx($src_img);
$h = imagesy($src_img);
// 3 - Redimensionnement en largeur :
if (!$stretch) {
if ((($h * $width) / $w) > $height) {
$im_w = ($w * $height) / $h;
$im_h = $height;
} else {
$im_w = $width;
$im_h = ($h * $width) / $w;
}
} else {
$im_w = $width;
$im_h = $height;
}
$x = ($width-$im_w)/2;
$y = ($height-$im_h)/2;
// 4 - Création d'une image buffer :
$dst_img = imagecreatetruecolor($width, $height);
if (!$dst_img){
echo "Erreur : Buffer '".$dst_img."' non créé !";
return false;
}
$bgc = imagecolorallocate($dst_img, 248, 230, 244);
imagefilledrectangle($dst_img, 0, 0, $width, $height, $bgc);
imagecopyresized($dst_img,$src_img,$x,$y,0,0,$im_w,$im_h,$w,$h);
// 5 - Enregistrement de la miniature en .jpg :
touch($destination);
imagejpeg($dst_img,$destination,$quality);
return true;
} |
|
| |
|
 |
Mumuri WRInaute accro

Inscrit le: 03 Nov 2004 Messages: 1762 Localisation: bordeaux
|
|
| |
|
 |
link182 WRInaute impliqué

Inscrit le: 26 Juil 2005 Messages: 468 Localisation: 51 & 57
|
Posté le : Mar Fév 21, 2006 14:22 Sujet du message: [PHP-GD] Miniature et transparence. |
|
|
mm pas très clair, si je définis le rouge, tous les pixels rouges de mon images seront transparents ?
A vrai dire, je dois avoir un problème dans la fonction qui me crée la miniature. J'aimerais qu'il ne me crée pas de bord sur les cotés (temps pis si le hauteur et la largeur sont plus petites que prévu).
Quelqu'un pourrait me renseigner ?
Merci |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|