FONCTION GÉNÉRIQUE DE REDIMENSIONNEMENT D'IMAGE

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 23 mars 2006 à 22:43
cs_franklinou Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 7 juin 2007 - 1 juil. 2008 à 15:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36654-fonction-generique-de-redimensionnement-d-image

cs_franklinou Messages postés 6 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 7 juin 2007
1 juil. 2008 à 15:33
J'ai un petit problème avec ce code, je l'utilisait dans quelques'uns des sites que j'ai fait, sans aucun soucis. Seulement sur le dernier en date, je ne comprends pas ce qu'il se passe, l'image est bien uploadée, mais aucune redimension n'est effectuée, ni pour l'image en grande taille, ni pour la création de la miniature.
La différence entre ces sites, c'est seulement l'hébergeur, le code, même identique, ne fonctionne pas sur 1and1, alors qu'il me semble que les mêmes fonctions php soient activées.
Si quelqu'un possède la réponse ou juste un petit bout...
Merci d'avance.
waterw72 Messages postés 63 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 18 juillet 2008
26 nov. 2007 à 12:29
Personnellement, je trouve qu'il manque des commentaires dans cette source.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 sept. 2007 à 13:00
Bon...contacte moi par MP, je te file mon email et tu m'envoies ton image.
Je testerai sur mon serveur.
cs_gaillardo Messages postés 22 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 22 septembre 2008
11 sept. 2007 à 10:52
J'ai aussi essayé de recopier le ligne :
imageResize ('transparent.gif', 'thumb_transparent.gif', array ('DO_NOT_KEEP_PROPORTIONS', 100, 100));
et de nommer une transparent.gif que j'ai placée dans le répertoire ou se trouve ma fonction, le résultat est le même.
cs_gaillardo Messages postés 22 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 22 septembre 2008
11 sept. 2007 à 09:55
Réctification : que je mette n'importe quoi dans mon echo après $im = $getImg ($sFileNameFrom); rien ne s'affiche.
Je n'ai pas encore mis mon site sur mon serveur, j'utilise easyphp, ça peut venir de ça peut-être ?
a+
cs_gaillardo Messages postés 22 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 22 septembre 2008
10 sept. 2007 à 22:15
rien c'est à dire que echo $im et echo $image_p ne m'affiche rien.
Il ne fait ni un return false ni un return true.
c'est une image .jpg de 39,5ko.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 sept. 2007 à 12:27
Et combien pèse t elle?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 sept. 2007 à 12:27
lambda_1 et 2 c'est normal.
Pour le reste, quand tu dis rien, c'est à dire?
Il ne rentre pas dans la condition, c'est à dire qu'il ne fait ni un return false ni un return true ?

Quel type d'image lui envoies-tu ?
cs_gaillardo Messages postés 22 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 22 septembre 2008
10 sept. 2007 à 12:16
Merci pour ta rapidité,

Je n'est toujour aucune image de créee, voila mon résultat avec des "echo":

$getImg => ?lambda_1
$savImg => ?lambda_2
$im => rien
$image_p => rien

et je n'entre pas dans la dernière boucle if ($saveImg ($image_p, $sFileNameTo))

si tu as une idée pour me débloquer ...
merci et à bientôt
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 sept. 2007 à 11:59
# $getImg = create_function ('$sFileNameFrom', 'return
@imagecreatefrom'.$aTypes[$aImg[2]].'($sFileNameFrom);');
=> Ici je crée dynamiquement la fonction de création d'image qui va bien en fonction du type d'image que j'ai (png, jpg...)
# $saveImg create_function ('$img, $sFileNameTo', 'return @image'.$aTypes[$aImg[2]].'($img, $sFileNameTo);');
> ici je crée dynamiquement la fonction de sauvegarde de l'image
# $im $getImg ($sFileNameFrom);
> je récupère l'image créée sur le serveur
# $image_p imagecreatetruecolor($width, $height);
> j'assigne les couleurs
# imagecolortransparent ($image_p, 0);
=> la transparence
# imagecopyresampled($image_p, $im, 0, 0, 0, 0, $width, $height, $aImg[0], $aImg[1]);
=> je redimensionne
# if ($saveImg ($image_p, $sFileNameTo)) {
=> je sauvegarde la vignette. Si c'est ok, ben la fonction renvoie true
# return true;
# } else {
=> false sinon
# return false;
# }
cs_gaillardo Messages postés 22 Date d'inscription mardi 13 juin 2006 Statut Membre Dernière intervention 22 septembre 2008
10 sept. 2007 à 11:40
Salut,

Alors le problème c'est que je suis débutant et que je n'arrive pas à faire fonctionner ton code. J'ai essayé d'en comprendre le fonctionnement en mettant des "echo" partout et je bloque sur la fin. Serait-il possible que tu commente les dernières ligne s'il te plait : à partir de $getImg.

Merci d'avance et à bientôt.
mohashwo1983 Messages postés 3 Date d'inscription vendredi 12 août 2005 Statut Membre Dernière intervention 16 mai 2007
16 mai 2007 à 04:42
Salut,
Désoler je suis débutant, ma question est toutes simple.
Comment faire fonctionne le script?
Ce que j'ai fait j'ai mis le script dans le même dossier que mes images et je l'ai lancer via le navigateur mais j'ai toujours aucune miniature.

Merci d'avance
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2007 à 13:04
Ah ben ça au moins ça fait plaisir comme réaction ;-)
Ravi que le script t'aide :-)
Et le café, à l'occasion ;-)
tetsuografx Messages postés 4 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 9 janvier 2007
9 janv. 2007 à 12:44
Malamam !

Je t'aiiiimeeeee !

Des scripts simples sans enregistrement un peu décevants, des scripts complets, trop complets que pour les faire fonctionner dur dur, mais là c'est le script de la taille idéale, qui rentre parfaitement dans mon projet, je crois que j'ai un orgasme du développement lol

Là je te paie un café quand tu veux, parce que c'est pas une épine que tu me retires du pied, c'est tout le rosier !

Merci !
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
21 juil. 2006 à 18:13
Je teste ça et je te dis ^^
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 juil. 2006 à 16:37
Pouda => Merci :-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 juil. 2006 à 16:37
PaTaTe => teste cette nouvelle version. A priori, ça devrait aller, la ytransparence devrait être gérée correctement.
pouda Messages postés 264 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 27 octobre 2014
15 juil. 2006 à 14:59
Je cherchais enfin qquechose de simple pour générer mes miniatures....et je l'ai trouvé ca marche super bien et je te remercie pour ta source...je te met 10 ;-)
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
15 juil. 2006 à 14:02
MErci c'est cool :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 juil. 2006 à 12:12
Patate => désolé pour le temps de réponse...
Je regarderai plus en détail.
Mais c'est curieux, lol. Peut-être une différence de version de GD, je ne sais pas trop.
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
23 juin 2006 à 21:27
Ok merci pour ces precisions. Concernant la tansparence, je parlais bien du GIF et chez moi elle n'est pas conservée avec ce code :/
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 juin 2006 à 11:46
Hello,

c'est à dire ? Juste afficher l'image sans la sauvegarder ?
Il faut modifier ceci : $saveImg = create_function ('$img, $fileName', 'return @image'.$aTypes[$aImg[2]].'($img, \'thumb_\'.$fileName);');
Mais l'afficher directement à partir de la fonction, bof...ça ne me parait pas une bonne idée.
Il faut renvoyer la ressource, en tous cas, au lieu d'un true/false. ET ne pas faire le save sur un fichier.
EX : http://fr3.php.net/manual/fr/function.imagepng.php
si on ne passe pas le nom du fichier en paramètre, tu n'auras pas de sauvegarde.

Pour la transparence, j'utilise ce code, et je n'ai pas de problème avec : elle est bien conservée (en tous cas pour du GIF hein...je rappelle que les clientx web n'en sont pas encore là pour le png).
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
23 juin 2006 à 11:37
Une utilisation directe sans sauvegarde m'aurait intérréssé.

J'ai essayé de modifié le code selon mes besoins mais j'avoue que je bloque un peu. J'aimerais aussi la conservation de la transparence (ce qui n'est apparement pas le cas :()

Si tu pouvait m'y aider ca serait pas mal.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 mai 2006 à 15:24
Ok c'est modifié. J'ai mis 4 options. A lire dans les commentaires ci-dessus pour voir comment on s'en sert :-)
cs_hvella Messages postés 14 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 31 mai 2006
22 mai 2006 à 13:01
ok Malalam c sympa, j'ai seulement reussi a planter ton code hier ! (a essayer de le bidouiller ).
J'attend ta modif. avec impatience. Merci de fournir le fichier .zip pour le télechargement...

c cool ce site est bien vivant et vraiment tres utile pour les debutant en php !

A+
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 mai 2006 à 10:27
Ok, je vais ajouter à la fonction plusieurs possibilités, dans la journée. je te préviendrai quand ce sera fait :-)
cs_hvella Messages postés 14 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 31 mai 2006
21 mai 2006 à 15:41
Bonjour merci pour ce code !
Pratique !

Moi g besoin de formater l'image a une largeur bien precise et la hauteur en fonction du rapport !
Ta fonction marche bien pour les images + large que haute.
Mais lorsque l'image et + haut que large, la hauteur est redimensionnée à une valeur fixée par KEEP_PROPORTIONS, la largeur est déduite ! comment faire pour avoir toujours la largeur constante et la hauteur variable qlque soit l'image ??
Merci pour les idées !
a+
misterniark Messages postés 14 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 1 août 2007
27 mars 2006 à 13:50
exelent merci a toi
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 mars 2006 à 11:52
OK ok, lol, c'est ajouté, à la va vite, je peaufinerai plus tard :-)
misterniark Messages postés 14 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 1 août 2007
27 mars 2006 à 10:53
super pratique! il est vrai que garder les rapports serai un gros plus. en tous cas merci, ca sert toujours
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mars 2006 à 09:19
Hello Coucou,

non en effet, j'ai utilisé cette fonction pour redimensionner des images à une taille fixe, quelle que soit leur taille d'origine, à vrai dire.
Mais c'est une bonne idée, je rajouterai ça :-)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 mars 2006 à 22:43
Salut, à moins que je ne me trompes, tu n'as pas mis de choses pour gérer les redimentionnements quand on veut garder les rapports hauteur/largeur... domage, tu devrais mettre une constante au bout pour ça, et pour gérer aussi le fait que l'on prenne un rapport par défaut ou exès...
Rejoignez-nous