12-06-2009, 11:50 AM
Il y a quelques temps, j'ai planché sur un module de signature dynamiques pour un site communautaire. Après avoir un peu galérer sur les éléments de texte et beaucoup souffert avec les effets de transparence, je vous livre ici le résultat de mon travail.
Voici une image en PNG qui va me servir de base (elle est tirée du kit pour champion Online et légèrement modifiée pour les besoins de la démonstration).
Sur cette image, je souhaite placer quelques informations.
Dans notre exemple, l'appel se fait de manière simple
Voici une image en PNG qui va me servir de base (elle est tirée du kit pour champion Online et légèrement modifiée pour les besoins de la démonstration).
Sur cette image, je souhaite placer quelques informations.
Dans notre exemple, l'appel se fait de manière simple
Code PHP :
<?php
<div style="background-color:lightgreen; float:left;padding:10px;">
<img src="sign.php5?mode=render"/>
</div>
J'ai mis l'arrière plan en couleur pour faire ressortir la transparence
Voici maintenant le code qui me permettra de générer la signature
Code PHP :
<?php
//Inclusion de la classe
require_once './class/signs.class.php5';
$oSign=new Signature();
//Sélection de l'arrière plan. Comme j'utilise un arrière plan en png pour profiter de la transparence, je le précise. dans le 2e paramètre.
$oSign->setBackGround('bg_1','png');
//Ajout des divers éléments de texte
//Classe et niveau
$oTxt=new TextSignature();
$oTxt->setFont('Earth');
$oTxt->setSize(20);
$oTxt->setColor(255,255,255);
$oTxt->setPos(250,165);
$oTxt->setText('Blaster 23');
$oTxt->setShadow(2); // Contour
$oSign->addTextObject($oTxt);
//Nom
$oTxt=new TextSignature();
$oTxt->setFont('Morpheus');
$oTxt->setSize(30);
$oTxt->setColor(128,0,0); // Texte en noir
$oTxt->setPos(260,30);
$oTxt->setText('Justiciar');
$oTxt->setShadow(0); //Pas d'ombre
$oSign->addTextObject($oTxt);
//Texte Perso
$oTxt=new TextSignature();
$oTxt->setFont('Comic Sans MS');
$oTxt->setSize(10);
$oTxt->setColor(255,255,255);
$oTxt->setPos(200,100);
$oTxt->setText('"Le glaive de la justice n\'a pas de fourreau"');
$oTxt->setShadow(1); //Ombre simple
$oSign->addTextObject($oTxt);
//Retour de l'image
$oSign->Render('screen');