redimention photo - PHP - Programmation
Marsh Posté le 22-01-2006 à 16:53:20
Ben si l'image source est trop grande tu crées deux sous-images (une "réduite" et une "miniature" ) et tu stockes pas l'image uploadée à l'origine, mais la réduite
Marsh Posté le 22-01-2006 à 16:54:41
Je ne comprends pas vraiment ton soucis.
Tu reprends le même script que pour créer ta miniature, mais tu fais :
Code :
|
Marsh Posté le 22-01-2006 à 16:55:33
oui ! c'est ce que je veux faire mais je ne sais comment faire pour redimentionner une image en gardant les prop et en présisant la hauteur de celle-ci
Marsh Posté le 22-01-2006 à 16:56:34
oui mais avec imagecreatetruecolor(140, 120); , ca peut pas marcher ...
Il doit y avoir un autre fonction pour faire genr : imagecreatetruecolor(?, 600);
Marsh Posté le 22-01-2006 à 16:56:55
osi a écrit : oui ! c'est ce que je veux faire mais je ne sais comment faire pour redimentionner une image en gardant les prop et en présisant la hauteur de celle-ci |
T'as la hauteur et la largeur de l'image source, t'as la hauteur et la largeur maximales de l'image de destination, l'opération à effectuer s'apparente fortement à une rêgle de 3
Marsh Posté le 22-01-2006 à 16:59:43
ben oui ... je dis pas que c'est sorcier à faire mais je dis que je ne sais pas comment faire cette redimention ...
Marsh Posté le 22-01-2006 à 17:03:42
De la même manière que tu crées ta miniature nom de dieu, avec imagecopyresampled par exemple
Marsh Posté le 22-01-2006 à 17:12:55
Je suis désolé que je ne comprenne pas ...
là ou je cale est que quand on fait la miniature, on connait la hauteur et la largeur tandis que ici, on ne connait que la hauteur.
hors ici : imagecreatetruecolor(140, 120); je dois bien mêtre les 2 valeur dont un qui est 600 mais l'autre ??? o
Marsh Posté le 22-01-2006 à 17:21:53
osi a écrit : Je suis désolé que je ne comprenne pas ... |
Ton image a une hauteur a et une largeur b que tu connais...
Ton image de destination a une hauteur de 600 que tu connais également.
Tu veux calculer la largeur de l'image de destination...
C'est un putain de produit en croix quoi, ça doit se faire au collège ce genre de conneries
Marsh Posté le 22-01-2006 à 17:56:26
voila ... je crois que c'est bon :
Code :
|
c'est bon ? :s
Marsh Posté le 22-01-2006 à 18:03:20
ca marche sauf que à la place de redimentionner 600px de hauteur, ca met 675 ... :s
Marsh Posté le 22-01-2006 à 18:26:19
Code :
|
Vite fait en direct, à tester.
P.S.: Par contre, j'aime pas du tout ta façon de multiplier la dernière lettre, autant mettre des noms de variable plus explicite : $sourceMaxi, $destinationMaxi, etc.
Marsh Posté le 22-01-2006 à 18:35:45
Et je rajouterais: éviter les "magic numbers", il rendent le code difficile à comprendre et à modifier.
=> remplacer "600" par "$hauteur_max" (ou un truc du style) et définir "$hauteur_max = 600" un peu plus haut, de cette manière si la hauteur maximale doit un jour être modifiée il suffit de changer la valeur, et si tu reviens un jour dans le code dans 3 ou 6 mois tu ne te demanderas pas "gné ça correspond à quoi ce 600 là "
Marsh Posté le 23-01-2006 à 18:47:21
salut, je suis interesser par ton script. c'est toi qui l'a écrit? sinon source? explication?
Marsh Posté le 22-01-2006 à 16:50:59
Bonjour,
J'aimerai avoir un petit conseil et un petit peu d'aide pour un script php
je m'explique.
En faite, j'aimerai créer une galerie photo.
Pour le moment, je script que j'ai upload l'image d'origine et créer une miniature avec les hauteur et largeur prédéfinie et donc ayant pas les mêmes proportions ...
Jusque là, pas de problèmes.
Mais le problème est que l'image d'origine est parfoit très grande 1mo ...
Y-a-il pas moyens de ne pas uploader l'images d'origine (1Mo) mais d'uploader a la place cette image une redimention.
Les critères de cette redimention sont : Qu'elle ait maximum 600px de hauteur et que la largeur soie proportionelle à ces 600px. Aussi, l'image d'origine peut être eplus petite que 600px donc, il faut redimentionner que si l'image est plus grande que 600px.
Me suivez-vous ?
Donc sur le ftp, j'aurais 2 img.
La mini (140*120)
et la redimention de celle d'origine (?*600)
Voici le script d'upload tel qu'il est maintenant :
Merci d'avance à ceux qui m'aideront
++