Générer une image à partir d'un email

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Générer une image à partir d'un email

Message le Jeu Jan 08, 2009 11:43

Bonjour,

Voilà c'est assez simple à expliquer. J'ai une adresse email en base de donnée, par exemple monemail@email.com

Je veux que cette adresse s'affiche sous forme d'image gif.

Comment faire ?


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5323
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Jan 08, 2009 11:48

Bonjour

regarde du coté de la fonction PHP imagestring()


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Jeu Jan 08, 2009 12:47

En fait j'ai plus ou moins réussi en faisant ainsi :

Dans un fichier image.php, j'ai ça :
Code: Tout sélectionner
<?php
$strAdresseEmail=$_GET['email'];
// Nouvelle image 100*30
$im = imagecreate(100, 30);

// Fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, $strAdresseEmail, $textcolor);

// Affichage de l'image
header("Content-type: image/jpeg");
imagejpeg($im);
?>


J'affiche la chose dans la page, ainsi :
Code: Tout sélectionner

<?php
echo '<img src="image.php?email='.$email.'" alt="image" >';
?>


Mais là j'ai deux problème : D'abords, pour le fond de l'image, je souhait du #FFFFCC.

Ensuite, la taille de l'image ne s'ajuste pas à la taille de l'email. S'il est trop long, il est coupé.


anemone-clown
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 242
Inscription: Dim Nov 11, 2007 11:35

Message le Jeu Jan 08, 2009 13:00

Meeuuuhhh a écrit:
Code: Tout sélectionner
$bg = imagecolorallocate($im, 255, 255, 255);

Mais là j'ai deux problème : D'abords, pour le fond de l'image, je souhait du #FFFFCC.

Un petit peu d'héxadécimal donne FFFFCC = 255, 255, 204 (et pas 255 à la fin, pour le dernier paramètre de couleur!) car C = 12, donc CC = (12 x 16) + 12 = 204. :wink:

Pour la taille de l'image, ben... mets quelques pixels en plus au début de la création de l'image.


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Jeu Jan 08, 2009 13:11

Oui mais je ne connais pas à l'avance la taille de l'email...

Pour l'hexadécimal, j'aurais besoin d'un tuto, vu qu'il me faut aussi du DFF6F2.


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5323
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Jan 08, 2009 13:17

tu peux tout à fait compter le nombre de caractères qui composent l'email et à partir de celà déterminer automatiquement la taille de l'image qui sera générée, non ?


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Jeu Jan 08, 2009 13:20

Ouais mais c'est va être assez approximatif quand même.

C'est idiot ce truc, pourquoi la taille du texte ne s'adapte-t'elle pas toute seule à l'image ?


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5195
Inscription: Mer Nov 23, 2005 10:38

Message le Jeu Jan 08, 2009 13:25

Il y a un complément de réponse intéressant ici : http://fr2.php.net/manual/fr/function.imagestring.php#87759, voire une solution toute trouvée.

En général quand on a une problématique comme ça, aller fureter sur php.net est intéressant.
Dernière édition par UsagiYojimbo le Jeu Jan 08, 2009 13:31, édité 1 fois.


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5323
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Jan 08, 2009 13:29

Meeuuuhhh a écrit:Ouais mais c'est va être assez approximatif quand même.

Bah non, tu définis une largeur en pixels d'image par caractère, et pis voilà, non ?


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Jeu Jan 08, 2009 13:54

Ah bah voilà, ça fonctionne impeccable avec le code trouvé sur le lien UsagiYojimbo. Une reco, une.

Il me reste plus qu'à obtenir une police noire ou bleue, avec un fond en #DFF6F2

Je vais voir si je trouve un tuto sur le net, mais si vous savez, ça m'arrange (j'ai pas tout compris à l'exemple d'anemone-clown).


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Jeu Jan 08, 2009 13:57

Bon j'ai réussi pour les couleurs, j'ai utilisé colorschemer.
http://www.colorschemer.com/online.html

Merci à tous pour vos réponses.

jenesaispas
Nouveau WRInaute
 
Messages: 16
Inscription: Dim Nov 23, 2008 15:20

Message le Ven Jan 09, 2009 23:24

Bonsoir ?

Pourquoi se donner tout ce mal à vouloir cacher une adresse mail et perdre du temps à créer une image alors que tu donnes quand même l'adresse aux spammeurs dans le code ?
Meeuuuhhh a écrit:<?php
echo '<img src="image.php?email='.$email.'" alt="image" >';
?>


8O

A+


LiFi
WRInaute passionné
WRInaute passionné
 
Messages: 609
Inscription: Lun Juil 14, 2008 2:24

Message le Ven Jan 09, 2009 23:44

Il faudrait au moins utiliser la fonction strrev() une fois dans l'appel du fichier qui génère l'image, et une fois dans le fichier avant de construire l'image de l'email.
Ca cache pas énormément l'email au spambots mais la plupart ne vont pas développer un script juste pour capter les emails de ton site, à part si il est très connu.

http://fr.php.net/strrev

Code: Tout sélectionner
<?php
echo '<img src="image.php?email='.strrev($email).'" alt="image" >';
?>


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Message le Sam Jan 10, 2009 6:58

Oui c'est une idée, mais en fait je vais passer l'id en paramètre et puis j'irai chercher l'email correspondant dans la BD juste avant la création de l'image, comme ça l'adresse ne passera pas par l'URL.

Par curiosité, comment reconstruit-on l'email ensuite, avec cette fonction ?


LiFi
WRInaute passionné
WRInaute passionné
 
Messages: 609
Inscription: Lun Juil 14, 2008 2:24

Message le Sam Jan 10, 2009 13:42

ben pareil, vu qu'elle inverse simplement la chaine de caracteres.

Générer une image à partir d'un email

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités