Page 1 sur 1

Générateur de signature dynamique par user

Posté : 03 mai 2011, 14:03
par carasco
Bonjour,

Je suis en train de construire une base de données d'un jeu de rôle.
Sur mon site chaque utilisateur peux créer son personnage en choisissant , sa race, sa classe, son niveau et autres (Table personnage). Ensuite, il peut créer sa propre signature dynamique en choisissant une image et en sélectionnant les personnages qu'il voudrait y faire figurer (table signature avec adresse image, et les persos en données liés ). Le truc c'est que j'arrive à créer la signature sur le coup mais je ne sais pas comment la sauvegarder pour chaque utilisateur, en même temps qu'elle se mette à jour si l'utilisateur change une information de son personnage.

Pourriez vous m'aider s'il vous plait? Comment faire cela?

Merci d'avance pour vos réponses ;)

Re: Générateur de signature dynamique par user

Posté : 06 mai 2011, 15:31
par Ouleeve
Bonjour, je trouve ce sujet assez intéressant et j'aimerais connaitre aussi la réponse à cette problématique car je vais bientôt me pencher sur ce genre de sujet.

Re: Générateur de signature dynamique par user

Posté : 06 mai 2011, 16:48
par moogli
salut,

tous dépend du fonctionnement de ton jeux mais sur le principe, si tu souhaite sauvegarder le fichier (histoire de ne pas pénaliser le serveur en générant 400000 images dynamique) tu peut le faire en utilisant le second paramètre de fonction imagex (par exemple pour imagepng imagepng($ressource,'nomdufichier.png');).

Le plus simple étant d'utiliser la clef primaire de l'utilisateur pour le nom (si la clef primaire de la table de joueur est 412 le fichier sera 412.png). Cela permet d'afficher le fichier rapidement par exemple echo '<img src="signatures/'.$idJoueur.'.png" />';

Ensuite pour la re-génération, cela dépend de ce que tu veux mettre dessus et si tu souhaite une action spécifique ou pas (dans ce cas un bouton / lien vers un script est le tour est joué). Si tu souhaite de cela soit automatique (par exemple en cas de changement de niveau ?) il faut inclure la génération de l'image dans le traitement de l'événement.


@+

Re: Générateur de signature dynamique par user

Posté : 09 mai 2011, 17:05
par carasco
Bonjour,

Tout d'abord merci pour le soutien et merci pour la réponse ;)

C'est déjà beaucoup plus clair dans mon esprit grâce à tes explications, je vais essayer de mettre tout ca en place.

Merci encore pou tes explications ;)

Re: Générateur de signature dynamique par user

Posté : 11 mai 2011, 17:15
par carasco
Bonjour,

j'ai donc commencé mes script par contre je suis bloqué à un endroit. j'utilise de l'ajax pour l'affichage de l'image mais je ne sais pas comment passer l'image à mon code JS.

Voic le code exemple que j'utilise :
header("Content-type: image/png");
$image = imagecreatefrompng("sig.png");
$image2 = imagecreatefromjpeg("logo.jpg");
//imagecolorallocate($image, R, G, B) in HEX values
$font_black = imagecolorallocate($image, 2, 1, 8);
$font_blue = imagecolorallocate($image, 25, 0, 255);
//($image, fontsize, rightindent, downindent, data, txtcolour)
imagestring($image, 6, 40, 6, "texteaaffciher", $font_black);
imagecopyresized($image, $image2, 10, 4, 0, 0, 25, 25, 46, 45);
imagepng($image,'http://www.forsaken-world.fr/nomdufichier.png');
echo $image;
Grâce a un alert() dans mon js j'ai constaté que le echo me renvoyait : Resource id #135

Cooment puis je envoyer mon image à mon js, s'il vous plait?

Re: Générateur de signature dynamique par user

Posté : 12 mai 2011, 13:25
par macgawel
Bonjour,

j'ai donc commencé mes script par contre je suis bloqué à un endroit. j'utilise de l'ajax pour l'affichage de l'image mais je ne sais pas comment passer l'image à mon code JS.
Bonjour.

Il ne faut pas passer l'image à JS.
Il faut passer le code HTML qui va bien :
<img src="nom de l'image.ext" alt="un message" />
Donc PHP doit retourner ce texte (et pas une image)...

Re: Générateur de signature dynamique par user

Posté : 12 mai 2011, 13:47
par carasco
Merci pour ta réponse.

En fait ce qu'il me fallait c'est envoyer l'adresse de l'image qui est enregistré.

Merci encore pour ton aide ;)