MINIATURISATION D'IMAGE V2

BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 18 juin 2006 à 10:46
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015 - 27 mars 2010 à 16:43
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/38160-miniaturisation-d-image-v2

cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
27 mars 2010 à 16:43
Salut

Comment utiliser la fonction ? si possible un exemple basic de formulaire ce serait sympa :)

Merci d'avance
moimc Messages postés 1 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 10:53
Niquel, depuis le temps que j'en cherchais un correct.

Par contre, une petite faute à corriger, à la fin de la fonction c'est 'dossier' et pas 'dosier' !

merci
edotheking Messages postés 1 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 10 février 2007
10 févr. 2007 à 00:16
J'ajouterai juste un truc sur cette source très bien faite, je n'ai pas compris pourquoi il y a un carré blanc de la hauteur maximale spécifiée...enfin c'était peut-etre voulu.
De toute façon c'est pas bien dur de la modifier, il y a juste a changer les derniers parametres quand l'image est crée.

En tout cas merci pour cette source bien utile (pourquoi s'embeter a coder des trucs comme ca quand d'autres l'on fait, et mieux que vous...).
lotfikecir Messages postés 2 Date d'inscription dimanche 25 juin 2006 Statut Membre Dernière intervention 5 novembre 2006
5 nov. 2006 à 18:43
c'est vraiment du bon boulot je te tire chapeau ça m'a plus, juste un truc ya une erreur dans le ocde source au niveau des
define('XMIN',0);
define('YMAX',1000);
define('XMIN',0); à changer par define('YMIN',0); parce que il y a une double déclaration mai sinon ça fonctionne très bien. de toute les façons je suis sur un projet ,j'ai untiliser at source qui m'est d'une grande utilité, dès que je l'aurai trminer je le posterai ici. A+
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
11 août 2006 à 08:35
très bien ce script :-D

juste une question technique :

Au lieu de mettre un vert fluo , il est pas possible de faire de la transparence à la place ?
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
25 juin 2006 à 21:06
Merci TheSin pour la précision à propos des WBMP. Je suis d'accord qu'une telle fonction de gestion des BMP manque cruellement à la GD... peut-être en cour de développement.
Mais en même temps, vue la taille d'un BMP, rare sont les personnes qui utilise ce genre de fichier en upload ou download. En serait-ce la raison?
Au fait, bon code, je mets 9/10 aussi... 10 se sera pour quand il y aura les autres formats de fichiers ;)
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
23 juin 2006 à 14:20
C'est le soleil, la canicule tout ca... mon pauvre webdeb :p
Enfin merci pour la note =)
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
23 juin 2006 à 14:17
Oups quel noob je n'avais pas vu que c'était une fonction en haut. Au temps pour moi. J'ai été dérouté par les commentaires ^^
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
22 juin 2006 à 19:53
Ah ouais j'avais pas pensé à gerer la sauvegarde de l'image sous plusieurs formats, c'est pas bête ^o)
Je prend note :)
Je vais aussi voir pour le bmp et pour Webdeb, c'est deja une fonction non? ;) Pour une classe objet je connais pas encore la poo :$ ca va venir, je suis en vacances j'aurais que ca à faire :p

A bientot pour des modifs ;)
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
22 juin 2006 à 13:19
Masternico => WBMP n'est malheureseument pas BMP.

Quote of "clambert at whitecrown dot net" :
"WBMP images are Wireless Bitmaps, not Windows Bitmaps. WBMP is used for bandwidth constrained, black and white, limited devices such as PDAs and Cell Phones."

Commentaire venant de http://fr2.php.net/manual/fr/function.imagecreatefromwbmp.php

Il faut donc bien créer toutes les fonctions ...
Par ailleurs, ca serait bien si elles étaient natives à GD, sinon ça risque vraiment d'être lourd :S ...
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
22 juin 2006 à 09:59
Je viens juste de remarquer que l'image $im crée à partir de l'image source n'est pas détruite avant de sortir de la fonction. Elle reste en mémoire et peut donc finir par la saturer après avoir manipulé quelques images...
=>> imagedestroy($im);
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
22 juin 2006 à 09:36
En fouillant un peut sur le site de fr3.php.net, j'y ai trouvé la fontion imagewbmp dont voici la fiche technique:

***********************************************
***********************************************

bool imagewbmp ( resource image [, string filename [, int foreground]] )


imagewbmp() crée l'image WBMP dans le fichier filename, à partir de l'image image. Le paramètre image a été créé avec la fonction imagecreatetruecolor().

filename est optionnel et, s'il est omis, l'image sera envoyée directement au client. En plaçant l'en-tête image/vnd.wap.wbmp, dans le champ "content-type", vous pourrez afficher une image WBMP.

Note : Le support WBMP n'est disponible que si PHP a été compilé avec GD-1.8 ou plus récent.


En passant le paramètre optionnel foreground, vous pouvez choisir la couleur de fond. Utilisez l'identifiant retourné par imagecolorallocate() comme valeur de ce paramètre. La couleur de fond par défaut est noire.

Voir aussi image2wbmp(), imagepng(), imagegif(), imagejpeg() et imagetypes().
*************************************************************
*************************************************************

Même si je n'ai pas bien saisi la différence entre BMP etWBMP, je pense qu'il doit ainsi être possible d'aranger ton code pour qu'il puisse sauvegarder l'image réduite dans le même format que l'original et aussi travailler sur des BMP
NeoZer0 Messages postés 9 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 20 juin 2006
20 juin 2006 à 10:15
Pour le BMP faut savoir manipuler les fichiers binaire et créer ca propre fonction:
voila un peut d'info sur le format: http://fr.wikipedia.org/wiki/BMP_%28format%29
et les fonctions pack et unpack de php peuvent être très utilent
en manipulant le binaire (et en connaissant la structure du format) on peut manipuler plein de choses
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 juin 2006 à 13:03
PS: heureusement que les nots sont sur 10, sinon il t'aurait descendu, ton pote... ;-)
A part ça, c'est pas mal. Sauf peut-être la sauvegarde...y a que du png.
gborras Messages postés 1 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 19 juin 2006
19 juin 2006 à 12:59
je ne sais pas pour la lecture du bmp non plus, par contre pour identifier le type des fichiers le plus simple reste de lire les premiers octets pour avoir la signature du type de fichier
BPM : commencent par BM en général
JPEG : JFIF a partir du 6eme octet ......JFIF....
GIF : commencent par GIF
...
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
19 juin 2006 à 12:51
Yep l'ami !

Tu vas bien ? Ca y'est tu t'es décidé à poster ta source ^^ Sincèrement elle est classe mais ce qu'il serait bien d'essayer c'est de l'implémenter dans une fonction ou bien dans une classe objet.

++

Hugo.

PS : Je te mets 9/20 :)
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
18 juin 2006 à 13:32
Bin moi sur le BMP je me demande bien comment on peut faire, ne serait-ce que pour le charger avec GD ...
Faudrait ouvrir le fichier en binaire puis l'analyser et ajouter chaque pixel correctement je pense, mais bon, je pense que ca peut être assez lourd en PHP :(
Sinon, sympa ton nouveau code Palleas_44 ;-)
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
18 juin 2006 à 11:16
Bas enfaite mon site de rencontre enregistre les images dans le dossier « photos » sans leur extensions lors de l'upload exemple :
Avant = BenXbox.JPG
Après = BenXbox
Maintenant que j'ai plus de 5000 photos dans ce type d'extensions « jpeg, jpg, png, gif, bmp » je ne sais pas comment faire pour les réduire avec la lib GD.
Je pense que ton script est pas mal pour faire ce que je veux, mais il faudrait ajouter le bmp et pouvoir retrouver les extensions des images du dossier « photos ».
Merci d'avance.
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
18 juin 2006 à 11:07
Pour le bmp c'est plus compliqué puisqu'il n'y a pas vraiment de fonction comme celles utilisées ici genre imagecreatefrombmp() =)
Mais c'est pas bete ca ^o) j'vais m'y atteler :p

Sinon je vois pas trop ce que tu veux dire pour un dossier d'images sans extentions ^o)
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
18 juin 2006 à 10:46
Salut Palleas_44,
Je voudrais savoir pourquoi tu ne fais pas ta source pour plus t'extension d'images : exemple le bmp.
Et j'aurais voulue savoir comment faire pour faire marcher ton script avec un dossier d'images sans extensions.
Merci d'avance.
Rejoignez-nous