CLASSE POUR GÉRER LES REDIMENSIONS D'IMAGES (AVEC GD)
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005
-
10 févr. 2005 à 13:41
Axoloth
Messages postés1Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention21 avril 2008
-
21 avril 2008 à 00:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 30 nov. 2007 à 12:27
hey ! excellente ta source. Juste un petit goodies qui serai pas mal.
Au lieu de prendre le côté le plus large comme référence ce serait bien de pouvoir dire qu'on veut des images de 80px de large (ou de haut) qu'elles soient horizontales ou verticales (et que bien sur les proportions soient gardées).
Pour la génération de vignettes homogènes c'est plus sympas :)
@++
cs_piep14
Messages postés345Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention13 mai 2011 7 nov. 2007 à 18:46
Superbe source, j'ai essayé de faire avec un formulaire et ca me créé une photo toute noire. J'ai fait :
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 18 févr. 2006 à 15:42
>> Merci au développeur
Merci à toi de l'utiliser ^_^
hisy
Messages postés1Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention18 février 2006 18 févr. 2006 à 15:07
Ben moi je dis COOOL ...
Une class bien pratique et que je trouve clairement développée et commentée.
Merci au développeur.
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 10 févr. 2005 à 19:06
Certes, mais en même temps ma classe ne prend pas en compte le traitement d'un formulaire, ce qui lui permet de rester appicable à d'autres situations...
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 10 févr. 2005 à 18:16
C'est plus gourmand par contre.
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 10 févr. 2005 à 18:05
Je vais plutôt le faire avec getimagesize() qui retourne aussi le type du fichier. Ca ne fait pas changer grand chose dans mon code en plus :p
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 10 févr. 2005 à 17:54
Salut,
en ce qui concerne les types d'images (uploadées) :
$clef=(array_keys($_FILES));
if($_FILES[$clef[0]]['type'] != 'image/pjpeg' AND $_FILES[$clef[0]]['type'] != 'image/jpeg')
{
//image pas jpeg.
}
c'est juste un exemple...
a +
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 10 févr. 2005 à 15:15
Ah ouais pardon, jpensais stait bmp mais c'est wbmp... Bah si tu as lu l'article que j'ai écrit c'est bien :) Je n'ai pas regardé ton code au complet... mais il paraissait bien.
@±
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 10 févr. 2005 à 14:39
Je viens de corriger les short_tag. J'ai également condensé mon switch grâce à ton astuce.
Pour le bmp, il n'est tout simplement pas pris en charge par GD, c'est pour cela que je ne l'ai pas inclus dans ma classe. Pour ce qui est de tester l'extension, je vais améliorer ça.
J'ai lu ton "article" sur les règles de programmation, et je n'ai trouvé que les short_tag qui n'allaient pas. Y-avait-il d'autres choses?
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 10 févr. 2005 à 14:14
Ensuite, moi je ne suis pas d'accord de regarder l'extension pour ouvrir le fichier en conséquence... j'aurais plutot vérifier avec une fonction quelle est la nature du fichier... Mais bon, ca nécessite une librarie je crois... Donc tu pourrais mettre une option dans le constructeur par exemple s'il doit vérifier avec l'extension ou avec la librarie.
bmp ? Bah ? tu lui fais la gueule ?
Dernière chose, si tu fais ceci :
case 'jpg':
$source = imagecreatefromjpeg($image_source);
break;
case 'jpeg':
$source = imagecreatefromjpeg($image_source);
break;
tu peux condenser ton écriture en faisant
case 'jpg':
case 'jpeg':
$source....
break;
Voila
Dans l'ensemble c'est pas mal, mais essais de corriger ton script suivant le standard peut-etre :)
(Woua un commentaire positif vous allez dire :P)
cs_jalol
Messages postés12Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention21 décembre 2005 10 févr. 2005 à 13:41
N'hésitez pas à me laisser des commentaires sur cette source ! Reports de bugs ou idées d'amélioration également bienvenus :-)
21 avril 2008 à 00:39
Pareil qu'un post plus haut.... sur un redimenssionnement tout comme la génération d'un vignette, j'ai 2 jolie images toutes noires....
$destination = $_SERVER['DOCUMENT_ROOT']."/temp/temp.jpg";
$titre="test";
$cheminGrande="./";
$hauteurGrande=200;
$cheminVignette="./";
$hauteurPetite=72;
$imageFactory =& new image2Resize($destination, $titre);
$a=$imageFactory->redimensionner($cheminGrande, $hauteurGrande, 70, true );
$b=$imageFactory->vignette($cheminVignette, $hauteurPetite, true);
Une idée ?
30 nov. 2007 à 12:27
Au lieu de prendre le côté le plus large comme référence ce serait bien de pouvoir dire qu'on veut des images de 80px de large (ou de haut) qu'elles soient horizontales ou verticales (et que bien sur les proportions soient gardées).
Pour la génération de vignettes homogènes c'est plus sympas :)
@++
7 nov. 2007 à 18:46
<?php
include ('image2Resize.class.php') ;
$file = $_FILES['file']['name'];
if($file) {
$monObjetImage = new image2Resize ($file, 'essai_redimension') ;
$image_redimensionnee = $monObjetImage -> redimensionner ('./', 600, 80, true) ;
}
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<form action="" method="post" enctype="multipart/form-data" name="form1">
</form>
</html>
Merci
18 févr. 2006 à 15:42
Merci à toi de l'utiliser ^_^
18 févr. 2006 à 15:07
Une class bien pratique et que je trouve clairement développée et commentée.
Merci au développeur.
10 févr. 2005 à 19:06
10 févr. 2005 à 18:16
10 févr. 2005 à 18:05
10 févr. 2005 à 17:54
en ce qui concerne les types d'images (uploadées) :
$clef=(array_keys($_FILES));
if($_FILES[$clef[0]]['type'] != 'image/pjpeg' AND $_FILES[$clef[0]]['type'] != 'image/jpeg')
{
//image pas jpeg.
}
c'est juste un exemple...
a +
10 févr. 2005 à 15:15
@±
10 févr. 2005 à 14:39
Pour le bmp, il n'est tout simplement pas pris en charge par GD, c'est pour cela que je ne l'ai pas inclus dans ma classe. Pour ce qui est de tester l'extension, je vais améliorer ça.
J'ai lu ton "article" sur les règles de programmation, et je n'ai trouvé que les short_tag qui n'allaient pas. Y-avait-il d'autres choses?
10 févr. 2005 à 14:14
http://www.phpcs.com/code.aspx?id=24870
Ensuite, moi je ne suis pas d'accord de regarder l'extension pour ouvrir le fichier en conséquence... j'aurais plutot vérifier avec une fonction quelle est la nature du fichier... Mais bon, ca nécessite une librarie je crois... Donc tu pourrais mettre une option dans le constructeur par exemple s'il doit vérifier avec l'extension ou avec la librarie.
bmp ? Bah ? tu lui fais la gueule ?
Dernière chose, si tu fais ceci :
case 'jpg':
$source = imagecreatefromjpeg($image_source);
break;
case 'jpeg':
$source = imagecreatefromjpeg($image_source);
break;
tu peux condenser ton écriture en faisant
case 'jpg':
case 'jpeg':
$source....
break;
Voila
Dans l'ensemble c'est pas mal, mais essais de corriger ton script suivant le standard peut-etre :)
(Woua un commentaire positif vous allez dire :P)
10 févr. 2005 à 13:41