begin process at 2012 02 11 02:15:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > REDIMENSIONNER UNE IMAGE PHP (GD VERSION 2 REQUISE)

REDIMENSIONNER UNE IMAGE PHP (GD VERSION 2 REQUISE)


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :Redimensionner, image, jpe, gif, png Niveau :Débutant Date de création :27/09/2008 Vu / téléchargé :11 199 / 301

Auteur : CrazyShooter

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


 Description

Une petit source tout simplet permettant de redimensionner des images .jpg .jpeg .gef et .png en spécifiant l'url de l'image ainsi que la largeur désirée dans les paramètres de la fonction redimensionner.
Cette fonction contraint le rééchantillonage à une largeur fixe et maintient le ratio de l'image.

Source

  • <?php
  • function redimensionner($img_url,$largeur)
  • {
  • // Déterminer l'extension à partir du nom de fichier
  • $extension = substr( $img_url, -3 );
  • // Afin de simplifier les comparaisons, on met tout en minuscule
  • $extension = strtolower( $extension );
  • switch ( $extension ) {
  • case "jpg":
  • case "peg": //pour le cas où l'extension est "jpeg"
  • $src_im = createimagefromjpeg( $img_url );
  • break;
  • case "gif":
  • $src_im = createimagefromgif( $img_url );
  • break;
  • case "png":
  • $src_im = createimagefrompng( $img_url );
  • break;
  • default:
  • echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg/jpeg, gif, png";
  • break;
  • }
  • // Récupère les dimensions de l'image
  • $size = GetImageSize($img_url);
  • $src_w = $size[0];
  • $src_h = $size[1];
  • // Taille de votre image
  • $dst_w = $largeur;
  • // Contraint le rééchantillonage à une largeur fixe et maintient le ratio de l'image
  • $dst_h = round(($dst_w / $src_w) * $src_h);
  • $dst_im = ImageCreateTrueColor($dst_w,$dst_h);
  • // ImageCopyResampled copie et rééchantillonne l'image originale
  • ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
  • // ImageJpeg génère l'image dans la sortie standard (c.à.d le navigateur)
  • ImageJpeg($dst_im);
  • ImageDestroy($dst_im);
  • imageDestroy($src_im);
  • }
  • ?>
<?php

function redimensionner($img_url,$largeur)
{
	// Déterminer l'extension à partir du nom de fichier
	$extension = substr( $img_url, -3 );
	// Afin de simplifier les comparaisons, on met tout en minuscule
	$extension = strtolower( $extension );

	switch ( $extension ) {

	    case "jpg":
	    case "peg": //pour le cas où l'extension est "jpeg"
	        $src_im = createimagefromjpeg( $img_url );
	        break;

	    case "gif":
	        $src_im = createimagefromgif( $img_url );
	        break;

	    case "png":
	        $src_im = createimagefrompng( $img_url );
	        break;

	    default:
	        echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg/jpeg, gif, png";
	        break;
	}

	// Récupère les dimensions de l'image
	$size = GetImageSize($img_url);
	$src_w = $size[0];
	$src_h = $size[1];
	
	// Taille de votre image
	$dst_w = $largeur; 
	
	// Contraint le rééchantillonage à une largeur fixe et maintient le ratio de l'image
	$dst_h = round(($dst_w / $src_w) * $src_h);
	$dst_im = ImageCreateTrueColor($dst_w,$dst_h);
	
	// ImageCopyResampled copie et rééchantillonne l'image originale
	ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
	
	// ImageJpeg génère l'image dans la sortie standard (c.à.d le navigateur)
	ImageJpeg($dst_im);
	ImageDestroy($dst_im);
	imageDestroy($src_im);
}

?>

 Conclusion

Si vous avez des suggestions pour améliorer ce source n'hésitez pas ^^

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

UNICODE TO HTML ENTITIES
Source avec une capture CLASS LANG AVEC COOKIE + HTTP_ACCEPT_LANGUAGE
Source avec Zip Source avec une capture BLACKLAGOON APPS

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

SNIPPET : REDIMENSIONNER UN IMAGE SANS UTILISER LA BIBLIO GD par masternico
Source avec Zip FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS ... par GstJasmin
REDIMENSIONNER UNE IMAGE EN PHP par digitaldax
REDIMENTION D'IMAGE, LIBRAIRIE GD par 17l7
CRÉER UNE IMAGE GIF TRANSPARENT CONTENANT UN TEXTE par dorch

Commentaires et avis

Commentaire de petifa le 27/09/2008 11:33:50

Slt CrazyShooter
Ton code est court, je ne l'ai pas testé.
Par contre je sais pas si c'est volontaire mais tu as un cas default et lorsque tu vas dedans tu as mis un message d'avertissement. Cependant tu fais quand même les traitements derrière alors que le format n'est pas "reconnu", fait directement un return à la fin du default...

PS : ton break dans le default est inutile

A+

Commentaire de coucou747 le 27/09/2008 13:04:11 administrateur CS

salut

ce genre de code, on en a vu plein, et le tien ne propose pas grand chose de plus que les autres :
quand tu veux garder les dimentions proportionelles :
  tu peux tres bien fixer la largeur et calculer la longueur
  tu peux tres bien fixer la longueur et calculer la largeur
  tu peux tres bien donner une longueur max et une largeur max, et demander l'image la plus grande qui ne depasse pas
  tu peux tres bien donner une longueur max et une largeur max, et demander l'image la plus petite qui prend au moins cet espace

Bref, c'est incomplet.

Sinon, tu devrais gerer des Exceptions quand les fonctions de manipulations d'images echouent, quand l'image n'est pas du bon format, etc...

Commentaire de webdeb le 27/09/2008 13:49:15

On récupère l'extension d'un fichier avec la fonction pathinfo() :

http://fr.php.net/pathinfo

Exemple :

$file = '/var/www/monsite.com/www/images/image.png';
echo pathinfo($file, PATHINFO_EXTENSION);

++

Commentaire de mfaraday le 28/09/2008 22:46:00

Salut,

Pour compléter Coucou et Webdeb, tu pars du postulat que la personne qui se sert de ta fonction donnera une bonne url en paramètre et tu ne testes donc pas si le fichier existe ni même si les paramètres entrés lors de l'appel de ton fonction (...ou pas) sont du type attendu.

Bien entendu tu génères des exceptions :)

Bon courage

Flo

Commentaire de niz91 le 24/02/2009 11:01:29

bonjour tu met que l'image est contraint a largeur fixe.
peut tu modifier pour largeur +hauteur fixe pour pouvoir redimmensuionner les image en mode portrait et paysage.merci

Commentaire de scorpion077 le 13/05/2009 18:47:38

Bonjour,

j'ai testé cette fonction, et j'ai ce message d'erreur dans le navigateur : Fatal error: Call to undefined function createimagefromjpeg()

Cordialement.

Commentaire de scorpion077 le 14/05/2009 14:21:07

J'ai trouvé l'erreur. Une fonction est mal écrite : createimagefromgif. En réalité c'est imagecreatefromgif.

Commentaire de scorpion077 le 14/05/2009 16:44:14

J'ai collé ce code. J'ai mis 500 en largeur et mes photos sont minuscules...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

transparence sur gif ou png [ par kikistef ] Je recherche le moyen de creer un nouveau fichier image (gif ou png) à partir d'un gif ou png en utilisant la palette d'une autre image. Ca marche mai Redimensionner une image gif à l'aide de gdlib [ par el_bassir ] Bonjour,Ce que j vx c de pouvoir redimensionner des images gif &#224; l'aide de php et de la bibliotheque gd; EST CE QU'IL Y A QUELQU'UN QUI PEUT M'AI Image [ par bm67 ] Programme; &lt;?php$image=imagecreate(80,80<FONT color=#0080 redimensionner une image [ par kinooo ] Est ce que qq un pourrait m'expliquer comment faire pour redimensionner une image.et evantuellement comment afficher une image en taille reduite.merci Problème de chargement d'image dans un tableau [ par cascad ] j'ai un probl&#232;me avec ce bout de code, &lt;?php header ("Content-type: image/png"); $source[0][0] = imagecreatefrompng("herbe.PNG"); $source[0][1 Qualité horrible d'une vignette GIF transparent lors du redimentionnement [ par khoudj ] Bonjour, j'ai un petit probl&#232;me: quand je cr&#233;e en php une vignette d'une image gif avec une transparence, la vignette est bien cr&#233;e, & Fonctions de réduction et de restitution de la taille d'une image [ par amewole ] Bonjour,Je cherche deux fonctions qui permettent&nbsp; d'une part de r&#233;duire la taille d'une image (JPG,JPRG, GIF ..) et d'autre part&nbsp; de re demande de codes [ par dady3d ] tout d'abort bonsoir a tous, je suis a la recherche d'un code source pour pouvoir avoir un lien url d'une image (par ex: http://img/01.gif) pour faire Redimensionner un .gif transparent [ par D1stort1on ] Salut à tous,Je suis en train de travailler sur un site ou les utilisateurs pourront ajouter de nouveaux partenaires avec leurs logos respectifs.Mon s Problème à gérer les GIF animés via la Galerie GD [ par Fran6web ] Bonjour à tous!Je me retrouve avec un problème comme l'indique le titre du sujet.J'utilise la galerie GD et lorsque le visiteur envoi sont image GIF a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,997 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales