Redimensionner une image php (gd version 2 requise)

Soyez le premier à donner votre avis sur cette source.

Vue 15 802 fois - Téléchargée 434 fois

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 / Exemple :


<?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 ^^

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

ce code est-il propriétaire ?
C'est un code simple et efficace.
Messages postés
14924
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 octobre 2020
447 > Guz
Bonsoir, le code n'est pas propriétaire, il est soumis à la licence Creative Commons, http://www.commentcamarche.com/contents/136-informations-de-copyright
Par contre la politesse est fortement appréciée.
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

J'ai collé ce code. J'ai mis 500 en largeur et mes photos sont minuscules...
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

J'ai trouvé l'erreur. Une fonction est mal écrite : createimagefromgif. En réalité c'est imagecreatefromgif.
Messages postés
47
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
14 mai 2009

Bonjour,

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

Cordialement.
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.