8800 sujets

Développement web côté serveur, CMS

Bonjour à tous je me tourne une nouvelle fois vers vous pour savoir comment faire.
J'utilise la fonction imagecreatefromjpeg qui marche bien mais comment puis-je faire pour l'"adapter" aux formats GIF et PNG ?

Voici le script

$imgSrc = imagecreatefromjpeg($valeur1); 
		$largeurSrc = imagesx($imgSrc); 
		$hauteurSrc = imagesy($imgSrc); 
		if ($largeurSrc >= $hauteurSrc) 
		{        
		$pourcentage = ($affiche / $largeurSrc);  
		} 
		else 
		{      
		$pourcentage = ($affiche / $hauteurSrc);  
		} 
		$largeur = round($largeurSrc * $pourcentage);
		$hauteur = round($hauteurSrc * $pourcentage);
		$l = $largeur; $h = $hauteur;
		$lSrc = $largeurSrc;
		$hSrc = $hauteurSrc;
		$mini = ImageCreateTrueColor ($l, $h);
		ImageCopyResampled($mini, $imgSrc, 0, 0, 0, 0, $l, $h, $lSrc, $hSrc);
		imagejpeg ($mini, basename($valeur1)); $infos = getimagesize(basename($valeur1));


Si quelqu'un connait la solution... Merci d'avance
pourquoi ne pas utilisé

imagecreatefromgif et imagecreatefrompng ?

déjà je trouve que GD c'est pas simple d'usage,

alors modifié les fonctions?

edit :grillé Smiley cligne
Modifié par CPascal (05 Apr 2010 - 11:57)
Ok merci par contre comment je fais pour la detection de l'extension ?
savoir si c'est un gif ou un png ?

Je dois utiliser une fonction du genre

if (exif_imagetype('$valeur1') == IMAGETYPE_GIF) {


ou dois-je faire autrement ?
Modifié par pareto (05 Apr 2010 - 13:02)
Tu passes par un formulaire? Si oui, tu peux utiliser $_FILES['name']['type'] ("name" étant le nom de ton input), qui te renverra le type de fichier.
oui je passe par un formulaire pour alimenter un bdd
et ensuite j'utilise le script pour afficher les images.

Mais les images appellées proviennent d'une table mysql, le lien est stocké dans une table mais les images sont sur le serveur
Modifié par pareto (05 Apr 2010 - 13:25)
Salut,

tu peux utiliser getimagesize : ça te retourne un tableau avec toutes les infos dont l'index 2 => type de l'image (1 : gif / 2 : jpg / 3 : png / ...) et l'index mime (mime-type)

Pour tester :
<pre>
<?php
$tab_img = getimagesize('chemin_vers_image.jpg');
print_r($tab_img);
?>
</pre>



Mais à mon avis s'il s'agit des fonctions de base pour les images (copy / rename / crop / resize) il vaut mieux utiliser une classe toute faite qui simplifie la vie et gère les questions existentielles comme la transparence : voir par exemple http://phpthumb.gxdlabs.com/
Modifié par Heyoan (05 Apr 2010 - 13:54)