Redimensionner une image php (gd version 2 requise)

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

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.