Utilisateur anonyme
-
1 juin 2006 à 16:52
bobatheboss
Messages postés12Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention30 septembre 2008
-
24 juin 2008 à 18:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
bobatheboss
Messages postés12Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention30 septembre 2008 24 juin 2008 à 18:25
Plus d'un an après, source toujours d'actualité et franchement parfaite !
Je génère des tas de png à la volé, rien à dire à part bravo !
neo8310
Messages postés2Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention 4 octobre 2007 4 oct. 2007 à 20:43
Super ! Bon boulot et présentation propre (ca change des pages en vrac )
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 23 déc. 2006 à 22:25
Salut les gars :)
Il ne tiens qu'à vous de changer les png, et de modifier les parametres de taille dans la classe.
wbarbry
Messages postés1Date d'inscriptiondimanche 4 juin 2006StatutMembreDernière intervention14 décembre 2006 14 déc. 2006 à 16:10
Super source !!!!!!!
si le bouton (image de fond) n'est pas blanc, la petite icone apparait sur un carré blanc. N'y a t'il pas moyen de se servir de la transparence des fichiers png?
Même souci avec bouton sur un fond de couleur autre que blanc...
Merci d'avance
William
steven777
Messages postés1Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention14 septembre 2006 14 sept. 2006 à 17:07
super, mais peut-on remplacer le fond (png) par une couleur toute bete (pour faire des boutons bleus, jaunes, verts...) ?
Aussi, peut-on ne pas mettre d'icone sur le bouton ?
Enfin, peut-on regler la taille du bouton ?
chankalan
Messages postés16Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention17 décembre 2007 11 juil. 2006 à 17:54
super, ça marche du tonnerre... y'a pas moyen de choisir la typo ?
10/10
kiki2sirom
Messages postés153Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention23 décembre 2010 27 juin 2006 à 16:22
ok chui un peu à la bourre dans les avis, mais là c du bon !!
kiki
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 8 juin 2006 à 12:08
il semblerait que les robots lisent dans les images :/
Ceci dit ce n'est pas le but premier de cette classe :)
cs_guismo1er
Messages postés76Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention12 mars 2009 7 juin 2006 à 19:20
Excellent, je viens de tester, et c'est vraiment bien fait, un petit truc, contree le spam, c'est btn_env_xx_hotmail_com.png en exemple.
faudrait pas mettre autre chose, ou est ce que les robots lisent meme dans les images?
Ciao
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 18:48
bizarre, il fonctionne bien chez moi :s
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 2 juin 2006 à 17:03
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 12:24
salut wiz !
Enfait je ne vois pas l'interet de ta fonction dans la mesure ou il suffit de bien ciblé le dossier à la base. Ta fonction va alourdir cette classe qui n'a pas besoin de cela tant la GD est deja friande en ressource.
wizard512
Messages postés459Date d'inscriptiondimanche 9 janvier 2005StatutMembreDernière intervention11 mai 20132 2 juin 2006 à 11:36
Peut être vérifier l'existance du dossier cible non ? ^^'
Avec une petite fonction. Genre :
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 20092 2 juin 2006 à 11:25
Yop salut :)
Je te conseille d'utiliser plutot une image de fond de 200px ( ou un peu plus petit ) mais pas 1px , car il te faudra faire une boucle pour parcourir toute l'image pour la remplir ( il n'existe pas de fonction spécifique en php pour remplir une image avec une image de fond :( )
Donc avec une image de fond de 200px pour une image généré de 500px, tu ne fera une boucle que de 3 fois et non 500 ==> optimisation du temps et ressource serveur.
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 10:36
Salut mickael ! :)
C'est un peu ce que je fait déjà dans ma classe, la largeur du bouton se fait en fonction de la largeur de la boucle, + les bords et le motif.
Mais j'aimerais utiliser un fond qui fait seulement 1 px, ce sera plus optimisé. Et au vu de la récente source "avancement de projet" avec le dégradé qui s'étire, je suis sur que cela doit être possible :)
cs_babid
Messages postés49Date d'inscriptiondimanche 21 septembre 2003StatutMembreDernière intervention17 décembre 2008 2 juin 2006 à 10:26
Exactement ce qu'il me fallait !! Merci
Très bon code, bonne continuation.
9/10
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 20092 2 juin 2006 à 10:25
ce que tu peux faire , c'est détecter la taille de la string en px , puis coller l'image de fond de 200px , sur toute la longueur ( via une boucle .... ) et finir par les 2 bords :)
si tu as besoins d'aide , n'hésite pas.
kool76
Messages postés1Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 2 juin 2006 2 juin 2006 à 09:59
Pas mal du tout :)
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 09:48
Désolé pour l'orthographe, j'ai du mal le matin :/
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 09:47
Effectivement, le problême vien que mon image fond.png ne dépasse pas 200px de largeur, donc si le texte est trop long il y aura du blanc.
Bon je pourrai agrandire l'image png, mais j'en profite pour vous demandez s'il n'y a pas un moyen de l'étirer plutot ??? comme ca je reduirait mon image fond.png a 1px de l'argeur !
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 2 juin 2006 à 09:31
Apparement, il y a des problemes lors de la génération d'un image avec un text long
Sinon le code semble correct
Naixn
Messages postés455Date d'inscriptionmardi 17 septembre 2002StatutMembreDernière intervention22 juillet 2007 2 juin 2006 à 08:20
Très sympa, simple et efficace :)
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 02:49
Voila la classe est améliorée ! ;)
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 01:15
On m'a aussi fait remarquer trés justement que php GD est tres friand en ressources serveur, et donc l'utilisation systématique de cette classe peut être lourd.
C'est pourquoi je parlais d'une utilisation offline, juste pour créer les boutons et les sauvegarder...
Mais peut etre qu'on pourrait aller plus loin. En effet, je pourrais ajouter un test dans ma classe qui verifierai si l'image existe déja ou non dans le repertoire /btn/. S'il existe deja, je n'ai qu'a retourner les parametre $hauteur, $largeur et $nom de l'image en question. Si l'image n'existe pas, alors que je la crée (ce sera la seule et unique fois).
Bref dés que j'ai le temps, je l'améliore =)
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 2 juin 2006 à 01:03
Effectivement, seulement quand j'ai concu cette classe, ce n'était que pour la création de boutons et donc je n'ai pas imaginé de texte alternatifs avec ":" ou bien "/".
Pour contourner ce probleme, tu peux ajouter ces caractere dans la variable $a de la fonction formateret ajouter 2 "_" dans $b ! :)
Mais il est vrai que cela peut permettre de creer des adresses email, avec un petit dessins mail, ca peut le faire wi !!! ;) mais dans ce cas la, il fait remplacer les caractere "@" et "." de la meme maniere qu'au dessus.
Bon, je vais arranger tout ca :D
wizard512
Messages postés459Date d'inscriptiondimanche 9 janvier 2005StatutMembreDernière intervention11 mai 20132 1 juin 2006 à 22:03
Désolé de revenir à la charge ^^' mais je viens de m'apercevoir
que ton script ne gère pas certains caractères ( pour la création de l'image )
Bref il faudrait mieux remplacer les caractères qui empêchent la création
de l'image ( avec un str_replace(); ça le ferait je crois )
Car par exemple il ne marche pas avec la date
( oui je sais je suis chiant ^^' )
Ex.:
'22:00 31/05/2006' me revoie l'erreur suivante :
Warning: imagepng(): Unable to open 'img/btn/btn_sup_22:00_31/05/2006.png' for writing in \***\****\****\**\bouton.classe.php on line 59
( Encore désolé ^^' )
wizard512
Messages postés459Date d'inscriptiondimanche 9 janvier 2005StatutMembreDernière intervention11 mai 20132 1 juin 2006 à 21:55
Je viens à peine d'y penser mais ta source peut aussi permettre
de protéger contre le spam. Enfin, je pense.
On peut s'en servire pour créer des images contenant des adresses mail, et
ainsi ça pourrait être un bon moyen contre le spam, non ?
Bref ta source peut avoir des utilisations multiples ( enfin pour moi ^^' )
wizard512
Messages postés459Date d'inscriptiondimanche 9 janvier 2005StatutMembreDernière intervention11 mai 20132 1 juin 2006 à 20:39
quel belle source :)
que sa soit au niveau de la source ou au niveau du résultat ( image générer )
La class de la source est bien concu et l'image est belle....
Bref pour moi sa sera un 10/10 plus des félicitations ;)
tazmania37
Messages postés46Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention10 novembre 2009 1 juin 2006 à 18:31
Génial, j'ai mis 10 !
mickaelpfr
Messages postés197Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 avril 20092 1 juin 2006 à 18:00
class propre et simple, corectement commenté ... j'ai noté 9
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 1 juin 2006 à 17:49
Oui il faut GD. Cela dit, cela peut trés bien être un script qui tourne seulement en local pour generer et sauvegarder tout ses boutons avant de les ftp.
C'est un gain de temps par rapport à toshop ou gimp =)
Andrei2006
Messages postés7Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention22 septembre 2006 1 juin 2006 à 17:43
Il te faut GD pour ça non ?
Domage, mon hébergeur ne gère pas la bibliothèque GD :(
cs_Franquito
Messages postés61Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention23 décembre 2006 1 juin 2006 à 17:13
ils se trouvent dans $rep à savoir ./img/btn/
Peut être devrais je les mettre dans un zip avec la classe ?
24 juin 2008 à 18:25
Je génère des tas de png à la volé, rien à dire à part bravo !
4 oct. 2007 à 20:43
23 déc. 2006 à 22:25
Il ne tiens qu'à vous de changer les png, et de modifier les parametres de taille dans la classe.
14 déc. 2006 à 16:10
si le bouton (image de fond) n'est pas blanc, la petite icone apparait sur un carré blanc. N'y a t'il pas moyen de se servir de la transparence des fichiers png?
Même souci avec bouton sur un fond de couleur autre que blanc...
Merci d'avance
William
14 sept. 2006 à 17:07
Aussi, peut-on ne pas mettre d'icone sur le bouton ?
Enfin, peut-on regler la taille du bouton ?
11 juil. 2006 à 17:54
10/10
27 juin 2006 à 16:22
kiki
8 juin 2006 à 12:08
Ceci dit ce n'est pas le but premier de cette classe :)
7 juin 2006 à 19:20
faudrait pas mettre autre chose, ou est ce que les robots lisent meme dans les images?
Ciao
2 juin 2006 à 18:48
2 juin 2006 à 17:03
Ton lien d'exemple est brisé: http://www.franquito.net/tutos/bouton.php
2 juin 2006 à 12:24
Enfait je ne vois pas l'interet de ta fonction dans la mesure ou il suffit de bien ciblé le dossier à la base. Ta fonction va alourdir cette classe qui n'a pas besoin de cela tant la GD est deja friande en ressource.
2 juin 2006 à 11:36
Avec une petite fonction. Genre :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function Is_dir_V( $DIR , $MODE )
{
if( is_dir( $DIR ) )
{
return true;
}
else
{
if( empty( $MODE ) )
{
$MODE = '0777';
}
if( @mkdir( $DIR , $MODE ) )
{
return Is_dir_V( $DIR , $MODE );
}
elseif( function_exists( 'system' ) )
{
@system( 'mkdir ' . $DIR . ' ' . $MODE );
return Is_dir_V( $DIR , $MODE );
}
else
{
return false;
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
non ? ¤¤'
2 juin 2006 à 11:25
Je te conseille d'utiliser plutot une image de fond de 200px ( ou un peu plus petit ) mais pas 1px , car il te faudra faire une boucle pour parcourir toute l'image pour la remplir ( il n'existe pas de fonction spécifique en php pour remplir une image avec une image de fond :( )
Donc avec une image de fond de 200px pour une image généré de 500px, tu ne fera une boucle que de 3 fois et non 500 ==> optimisation du temps et ressource serveur.
2 juin 2006 à 10:36
C'est un peu ce que je fait déjà dans ma classe, la largeur du bouton se fait en fonction de la largeur de la boucle, + les bords et le motif.
Mais j'aimerais utiliser un fond qui fait seulement 1 px, ce sera plus optimisé. Et au vu de la récente source "avancement de projet" avec le dégradé qui s'étire, je suis sur que cela doit être possible :)
2 juin 2006 à 10:26
Très bon code, bonne continuation.
9/10
2 juin 2006 à 10:25
si tu as besoins d'aide , n'hésite pas.
2 juin 2006 à 09:59
2 juin 2006 à 09:48
2 juin 2006 à 09:47
Bon je pourrai agrandire l'image png, mais j'en profite pour vous demandez s'il n'y a pas un moyen de l'étirer plutot ??? comme ca je reduirait mon image fond.png a 1px de l'argeur !
2 juin 2006 à 09:31
Sinon le code semble correct
2 juin 2006 à 08:20
2 juin 2006 à 02:49
2 juin 2006 à 01:15
C'est pourquoi je parlais d'une utilisation offline, juste pour créer les boutons et les sauvegarder...
Mais peut etre qu'on pourrait aller plus loin. En effet, je pourrais ajouter un test dans ma classe qui verifierai si l'image existe déja ou non dans le repertoire /btn/. S'il existe deja, je n'ai qu'a retourner les parametre $hauteur, $largeur et $nom de l'image en question. Si l'image n'existe pas, alors que je la crée (ce sera la seule et unique fois).
Bref dés que j'ai le temps, je l'améliore =)
2 juin 2006 à 01:03
Pour contourner ce probleme, tu peux ajouter ces caractere dans la variable $a de la fonction formateret ajouter 2 "_" dans $b ! :)
Mais il est vrai que cela peut permettre de creer des adresses email, avec un petit dessins mail, ca peut le faire wi !!! ;) mais dans ce cas la, il fait remplacer les caractere "@" et "." de la meme maniere qu'au dessus.
Bon, je vais arranger tout ca :D
1 juin 2006 à 22:03
que ton script ne gère pas certains caractères ( pour la création de l'image )
Bref il faudrait mieux remplacer les caractères qui empêchent la création
de l'image ( avec un str_replace(); ça le ferait je crois )
Car par exemple il ne marche pas avec la date
( oui je sais je suis chiant ^^' )
Ex.:
'22:00 31/05/2006' me revoie l'erreur suivante :
Warning: imagepng(): Unable to open 'img/btn/btn_sup_22:00_31/05/2006.png' for writing in \***\****\****\**\bouton.classe.php on line 59
( Encore désolé ^^' )
1 juin 2006 à 21:55
de protéger contre le spam. Enfin, je pense.
On peut s'en servire pour créer des images contenant des adresses mail, et
ainsi ça pourrait être un bon moyen contre le spam, non ?
Bref ta source peut avoir des utilisations multiples ( enfin pour moi ^^' )
1 juin 2006 à 20:39
que sa soit au niveau de la source ou au niveau du résultat ( image générer )
La class de la source est bien concu et l'image est belle....
Bref pour moi sa sera un 10/10 plus des félicitations ;)
1 juin 2006 à 18:31
1 juin 2006 à 18:00
1 juin 2006 à 17:49
C'est un gain de temps par rapport à toshop ou gimp =)
1 juin 2006 à 17:43
Domage, mon hébergeur ne gère pas la bibliothèque GD :(
1 juin 2006 à 17:13
Peut être devrais je les mettre dans un zip avec la classe ?
1 juin 2006 à 16:52
genre fond.png