Permet de redimensionner une image dans un format voulant avec respect des ratios et de la transparence, en utilisant la librarie gd de php et de l'enregistrer en choisissant son nom et le dossier.
Source / Exemple :
<?php
/* ################################################## */
//
// Auteur : Jourdain Stevens
// Date de création : 19/03/2012
// Description : Permet de redimensionner une image dans un format voulant avec respect des ratios et de la transparence, en utilisant la librarie gd de php et de l'enregistrer en choisissant son nom et le dossier
// email : jourdain.stevens@gmail.com
//
// ---------------------------------------------------------
// Exemple d'utilisation : $redim = new Redim();
// $redim->generate_image(150, 180, 'Upload', 'image', 'http://www.google.fr/images/srpr/logo3w.png');
// echo '<img src="image.png" />';
// ---------------------------------------------------------
//
// Licence Creative Commons : Pas d'utilisation Commerciale (revente), pas de modification.
//
// <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img alt="Licence Creative Commons" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Dataset" property="dct:title" rel="dct:type">Class PHP de redimenssion d'image</span> de <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Jourdain Stevens</span> est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 non transposé</a>.
//
/* ################################################## */
class Redim{
/**
- Permet de créer l'image dans la taille voulue
- @params int $largeur : largeur-max voulue
- @params int $hauteur : hauteur-max voulue
- @params string $chemin : dossier ou php enregistrera l'image
- @params string $name : nom de l'image une fois sauvegardée
- @params string $src : chemin de l'image a redimensionner
- /
public function generate_image($largeur, $hauteur, $chemin, $name, $src){
// On recence le format, la largeur et la hauteur
list($largeurSRC, $hauteurSRC, $typeSRC, $attrSRC) = getimagesize($src);
// On défini le chemin
$save = $chemin.$name;
// On crée l'image dans le bon format
if($typeSRC == "1")
$img_in = imagecreatefromgif($src);
elseif($typeSRC == "2")
$img_in = imagecreatefromjpeg($src);
elseif($typeSRC == "3")
$img_in = imagecreatefrompng($src);
else
$img_in = imagecreatefromjpeg($src);
// On calcule le ratio de l'image de base et de l'image voulu
$ratioLargeur = $largeur / $largeurSRC;
$ratioHauteur = $hauteur / $hauteurSRC;
// On définit les nouvelles mesures en respectant le ratio et la taille voulu
if($ratioLargeur > $ratioHauteur){
$newlargeur = ceil($largeurSRC * $ratioHauteur);
$newhauteur = ceil($hauteurSRC * $ratioHauteur);
}else{ //
$newlargeur = ceil($largeurSRC * $ratioLargeur);
$newhauteur = ceil($hauteurSRC * $ratioLargeur);
}
// On modifie l'image en conservant toutes les couleurs, la couche alpha, le ratio et la position de l'image
$img_out = imagecreatetruecolor($newlargeur, $newhauteur);
imagealphablending($img_out,false);
imagesavealpha($img_out,true);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, $newlargeur, $newhauteur, $largeurSRC, $hauteurSRC);
// On enregistre l'image dans le bon format
if($typeSRC == "1")
imagegif($img_out, $save.'.gif', 0);
elseif($typeSRC == "2")
imagejpeg($img_out, $save.'.jpg', 0);
elseif($typeSRC == "3")
imagepng($img_out, $save.'.png', 0);
else
imagejpeg($img_out, $save.'.jpg', 0);
}
}
7 avril 2012 à 14:11
9 avril 2012 à 12:52
10 avril 2012 à 10:08
10 avril 2012 à 23:54
elle sert à rien ta source si on a pas le droit de la modifier.
@Gille59 +1
@carabaas +1
16 avril 2012 à 09:59
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.