Je trouve vraiment pas ca utile perso.
Redimensionner des images en html c'est une mauvaise pratique et ca diminue les performance d'un site.
Perso pour moi c'est sans interêt.
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 11 déc. 2010 à 15:27
Il n'y a pas de mal, merci pour la note.
Etn3000
Messages postés39Date d'inscriptionmercredi 30 juin 2010StatutMembreDernière intervention10 décembre 20101 10 déc. 2010 à 17:48
Ah ok, j'ai cru. Toutes mes excuses.
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 10 déc. 2010 à 17:44
non, car comme l'a déjà souligné neigedhiver, la fonction getimagesize ne fait pas partie de la gd
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 10 déc. 2010 à 17:20
On peut savoir pourquoi "sans utiliser la biblio gd" est mensonger ?
Etn3000
Messages postés39Date d'inscriptionmercredi 30 juin 2010StatutMembreDernière intervention10 décembre 20101 10 déc. 2010 à 17:15
Salut,
je pense que tu devrait changer ton titre, "sans utiliser la librairie gd" est un peu mensongé, tu ne crois pas?
++
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 6 déc. 2010 à 14:32
Bonjour,
il suffit de mettre ces lignes de code dans une page et de lancer
';'
?>
cs_rasmulti
Messages postés5Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention 5 janvier 2011 6 déc. 2010 à 11:08
Bonjour,
comment tester si ça fonctionne ?
J'ai voulu afficher le résultat de $image_width et de $image_height avec echo, mais le résultat est :
Undefined variable...
Merci.
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 1 déc. 2010 à 21:49
hmmm...
neigedhiver =>
j'avais mal interprété ta remarque sur codyx. Je ne connaissais pas cette branche du site. Comme j'avais bien fait attention à venir dans la zone astuce, je ne comprenais pas pourquoi tu me disais d'aller dans une autre zone qui me semblais être étrangère à phpcs. Je te présente mes excuses.
Winwarrior =>
A 1024*768, une image pèse environ 150ko, et 15Mo à 5Mbs c'est 24s: c'est moins de temps qu'il ne faut pour agriper l'assenceur et descendre en bas en regardant toutes les photos.
Bon, celà dit, effectivement, le coté pesant d'envoyer les images en taille réelle présente certain (gros) désavantage (Perso, je suis sur un serveur avec bande passante illimité donc je ne me soucis pas trop de ça) Pour ce qui est des smartphones, tu es dans le vrai. Par contre quand on voit la vistesse à la quelle ça va, dans un an, ils seront tous équipés d'un disque dur SSD et gavés de mémoire, donc je ne m'en fais pas trop. En 3G, on optient de bons taux de transfert, et si la zone de cache est suffisante, le surf est plus ou moins transparent.
L'idée de détecter à la main les dimension de l'image est séduisante, reste àvoir si c'est faisable... facilement je veux dire
Au fait, bien vu pour le coup de getimagesize() qui ne fait pas parti de la GD...
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 1 déc. 2010 à 14:28
Mais à la limite, comme le code n'utilise pas de fonction GD, tout va bien...
Je cite la doc de PHP :
"Cette fonction ne nécessite pas la bibliothèque GD."
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 1 déc. 2010 à 14:14
Pour le coup, il vaut mieux stocker une miniature pour chaque image (voir plusieurs miniatures si t'utilises plusieurs tailles), car imagine 100 photos haute définition de 2mo (200mo ?) à charger quand t'as 100 visiteurs en même temps (20go ?), ça te coutera bien + cher en bande passante que l'espace pris par des miniatures sur le disque dur.
Et sans parler de ça, tout le monde n'a pas 20mbps à la maison, surtout avec le développement du web sur smartphone en connexion 3G/edge.
Sinon, ce qui serait intéressant à implémenter dans ton code, ça serait de détecter le type de l'image (jpg, png, etc..) et de récupérer la taille de l'image toi même sans utiliser de fonction GD.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 1 déc. 2010 à 09:05
Je sais pas comment on peut faire plus clair que ce que j'ai écrit... Les snipopets se postent sur codyx.org. Ici, on est dans la zone SOURCES.
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 1 déc. 2010 à 07:25
Zakuli, Winwarrior =>
Bon d'accord, le titre porte peut être à confusion, mais le principe est là malgré tout. Et oui c'est vrai, j'utilise la fonction getimagesize qui fait partie de GD. Mais c'est tout.
neigedhiver =>
On est justement dans la zone... : snippet. Donc oui, c'est le bon endroit pour poster ce genre de petit bout de code. Et je ne vois pas pourquoi coddyx serait un meilleur endroit pour mon script qu'ici. A moins que tu ne considère mon script comme un déchet et coddyx comme une poubelle? Mais ça, ça ne serait pas gentil de ta part et celà ne te ressemblerait pas du tout...
Si je dois redimensionner en direct avec php, ça me pompe de la ressource proc (ex: si j'affiche un gallerie de 100 photos et que mon script doit se charger de toutes les redimensionner à la volée, le tout consulté par 100 internautes en même temps : il me faut un monstre de serveur).
Evidemment, je pourrais stocker les miniatures au bon format directement sur le disque sur serveur, mais que se passera-t-il un jour si je veux afficher des miniatures de 10px de plus sur chaque dimension? Il, faut je regénère toutes les miniatures. De même, si je veux afficher une taille de miniature sur un listing, mais une autre taille dans un descriptif, et puis encore une autre pour un autre affichage? Il faut que je stocke toutes les miniatures aux bon format?... no way
Alors, puisque les browsers savent très bien redimensionner les images à la volées et que les connexions ADSL permettent à l'utilisateur d'avoir un débit suffisant, je choisi l'option d'envoyer la photo entière et de dire au browser de me l'afficher aux bonnes dimensions. D'autant que le chache du browser permet de ne télécharger la photo qu'une fois.
Quand une photo est uploadée sur le serveur, elle est redimensionnée avec GD au format max 1024*768 (ce qui n'est déjà pas mal), puis envoyée à l'internaute telle quelle. Le browser se charge du redimensionnement. Par contre, pour qu'il puisse le faire, il faut calculer les bonnes dimensions pour ne pas que le découpage HTML soit décalé, ni que l'image soit déformée si les proportions ne sont pas respectée.
Donc oui effectivement, je ne redimensionne pas l'image dans le sens ou je la stocke en miniature, mais le résultat est que mon image est redimensionnée une fois affichée à l'écran, donc techniquement, j'ai redimensionné mon image...
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 30 nov. 2010 à 12:25
15 déc. 2010 à 18:04
Désolé
15 déc. 2010 à 18:03
Redimensionner des images en html c'est une mauvaise pratique et ca diminue les performance d'un site.
Perso pour moi c'est sans interêt.
11 déc. 2010 à 15:27
10 déc. 2010 à 17:48
10 déc. 2010 à 17:44
10 déc. 2010 à 17:20
10 déc. 2010 à 17:15
je pense que tu devrait changer ton titre, "sans utiliser la librairie gd" est un peu mensongé, tu ne crois pas?
++
6 déc. 2010 à 14:32
il suffit de mettre ces lignes de code dans une page et de lancer
';'
?>
6 déc. 2010 à 11:08
comment tester si ça fonctionne ?
J'ai voulu afficher le résultat de $image_width et de $image_height avec echo, mais le résultat est :
Undefined variable...
Merci.
1 déc. 2010 à 21:49
neigedhiver =>
j'avais mal interprété ta remarque sur codyx. Je ne connaissais pas cette branche du site. Comme j'avais bien fait attention à venir dans la zone astuce, je ne comprenais pas pourquoi tu me disais d'aller dans une autre zone qui me semblais être étrangère à phpcs. Je te présente mes excuses.
Winwarrior =>
A 1024*768, une image pèse environ 150ko, et 15Mo à 5Mbs c'est 24s: c'est moins de temps qu'il ne faut pour agriper l'assenceur et descendre en bas en regardant toutes les photos.
Bon, celà dit, effectivement, le coté pesant d'envoyer les images en taille réelle présente certain (gros) désavantage (Perso, je suis sur un serveur avec bande passante illimité donc je ne me soucis pas trop de ça) Pour ce qui est des smartphones, tu es dans le vrai. Par contre quand on voit la vistesse à la quelle ça va, dans un an, ils seront tous équipés d'un disque dur SSD et gavés de mémoire, donc je ne m'en fais pas trop. En 3G, on optient de bons taux de transfert, et si la zone de cache est suffisante, le surf est plus ou moins transparent.
L'idée de détecter à la main les dimension de l'image est séduisante, reste àvoir si c'est faisable... facilement je veux dire
Au fait, bien vu pour le coup de getimagesize() qui ne fait pas parti de la GD...
1 déc. 2010 à 14:28
Je cite la doc de PHP :
"Cette fonction ne nécessite pas la bibliothèque GD."
1 déc. 2010 à 14:14
Et sans parler de ça, tout le monde n'a pas 20mbps à la maison, surtout avec le développement du web sur smartphone en connexion 3G/edge.
Sinon, ce qui serait intéressant à implémenter dans ton code, ça serait de détecter le type de l'image (jpg, png, etc..) et de récupérer la taille de l'image toi même sans utiliser de fonction GD.
1 déc. 2010 à 09:05
1 déc. 2010 à 07:25
Bon d'accord, le titre porte peut être à confusion, mais le principe est là malgré tout. Et oui c'est vrai, j'utilise la fonction getimagesize qui fait partie de GD. Mais c'est tout.
neigedhiver =>
On est justement dans la zone... : snippet. Donc oui, c'est le bon endroit pour poster ce genre de petit bout de code. Et je ne vois pas pourquoi coddyx serait un meilleur endroit pour mon script qu'ici. A moins que tu ne considère mon script comme un déchet et coddyx comme une poubelle? Mais ça, ça ne serait pas gentil de ta part et celà ne te ressemblerait pas du tout...
Si je dois redimensionner en direct avec php, ça me pompe de la ressource proc (ex: si j'affiche un gallerie de 100 photos et que mon script doit se charger de toutes les redimensionner à la volée, le tout consulté par 100 internautes en même temps : il me faut un monstre de serveur).
Evidemment, je pourrais stocker les miniatures au bon format directement sur le disque sur serveur, mais que se passera-t-il un jour si je veux afficher des miniatures de 10px de plus sur chaque dimension? Il, faut je regénère toutes les miniatures. De même, si je veux afficher une taille de miniature sur un listing, mais une autre taille dans un descriptif, et puis encore une autre pour un autre affichage? Il faut que je stocke toutes les miniatures aux bon format?... no way
Alors, puisque les browsers savent très bien redimensionner les images à la volées et que les connexions ADSL permettent à l'utilisateur d'avoir un débit suffisant, je choisi l'option d'envoyer la photo entière et de dire au browser de me l'afficher aux bonnes dimensions. D'autant que le chache du browser permet de ne télécharger la photo qu'une fois.
Quand une photo est uploadée sur le serveur, elle est redimensionnée avec GD au format max 1024*768 (ce qui n'est déjà pas mal), puis envoyée à l'internaute telle quelle. Le browser se charge du redimensionnement. Par contre, pour qu'il puisse le faire, il faut calculer les bonnes dimensions pour ne pas que le découpage HTML soit décalé, ni que l'image soit déformée si les proportions ne sont pas respectée.
Donc oui effectivement, je ne redimensionne pas l'image dans le sens ou je la stocke en miniature, mais le résultat est que mon image est redimensionnée une fois affichée à l'écran, donc techniquement, j'ai redimensionné mon image...
30 nov. 2010 à 12:25
30 nov. 2010 à 11:09
http://www.codyx.org
30 nov. 2010 à 09:01