captcha
Créer une captcha
La classe captcha vous permet de générer une image dynamique contenant un texte aléatoire. Cela sert, notemment, à vérifier que des robots ne valident pas vos formulaires. Cette classe ne fonctionne qu'en PHP5.
Les possibilités sont :
- Utilisation de police True Type
- Définition du nombre de caractères générés
- Image de fond
- Couleur de fond
- Bordure (taille, couleur, coins arrondis)
- Marge interne
- Angle du texte
- Ombre sur le texte (taille, couleur et positionnement)
ATTENTION!
Cette méthode n'est pas du tout accessible ... En effet, des personnes ayant un handicap visuel ou cognitif ne pourront pas recopier le texte contenu dans l'image, il vous faut donc prévoir un système alternatif.
Les Méthodes
- __construct - Nouvelle Instance - Fixe le type d'image générée
- setStringLenght - Taille de la chaîne aléatoire générée
- setFont - Définir la police True Type et sa taille
- setBackgroundColor - Définir la couleur de fond de l'image
- setBorderColor - Définir la couleur de la bordure
- setBorderWidth - Définir la taille de la bordure
- setTextColor - Définir la couleur du texte
- setImageWidth - Définie une largeur pour l'image (optionnel)
- setImageHeight - Définie la hauteur pour l'image (optionnel)
- setShadow - Définie si une ombre doit être appliquée sur le texte
- setShadowColor - Définie la couleur de l'ombre (optionnel)
- setTextAngle - Définie un angle d'affichage pour le texte
- setFromBorder - Définir une marge pour l'ecriture du texte
- setRoundedCorners - Coins arrondis
- getImage - Génère l'image et l'affiche
- getRandString - Récupère la chaîne aléatoire générée
Exemples
- Exemple Minimal
- Exemple : Couleur de fond et bordure
- Exemple : Image de fond et angle sur le texte
- Exemple : Ombre sur le texte et coins arrondis
Description des Méthodes
Nouvelle Instance - Fixe le type d'image générée
__construct( [ string Type ] )
Nouvelle Instance de la classe - Fixe le type de l'image qui sera générée (PNG,GIF ou JPEG)
- Type : Type de l'image qui sera générée (GIF,PNG ou JPEG). Optionnel, PNG par défaut.
$captcha = new captcha('PNG');
Taille de la chaîne aléatoire générée
setStringLenght( int Lenght )
Fixe la taille, en nombre de caractères de la chaîne aléatoire qui sera générée
- Lenght : Nombre de caractères de la chaîne aléatoire générée.
$captcha -> setStringLenght( 10 );
Définir la police True Type et sa taille
setFont( string FontPath , int Size )
Cette méthode doit obligatoirement être appellée, sinon une exception sera levée. Elle fixe le chemin vers la police True Type à utiliser ainsi que sa taille.
- FontPath : Chemin vers la police True Type à utiliser.
- Size : Taille de la police.
$captcha -> setFont( 'fonts/police.ttf' , 12 );
Définir la couleur de fond de l'image
setBackgroundColor( int R , int V , int B )
Définie la couleur de fond de l'image. Si une image de fond est définie, cette méthode n'aura aucun effet.
- R : Niveau de rouge.
- V : Niveau de vert.
- B : Niveau de bleu.
$captcha -> setBackgroundColor( 112 , 150 , 200 );
Définir la couleur de la bordure
setBorderColor( int R , int V , int B )
Définie la couleur de la bordure.
- R : Niveau de rouge.
- V : Niveau de vert.
- B : Niveau de bleu.
$captcha -> setBorderColor( 112 , 150 , 200 );
Définir la taille de la bordure
setBorderWidth( int Width )
Définie la taille de la bordure qui sera appliquée à l'image, en pixel.
- Width : Taille de la bordure en pixel.
$captcha -> setBorderWidth( 3 );
Définir la couleur du texte
setTextColor( int R , int V , int B )
Définie la couleur du texte, si l'appel à cette méthode est omise, le texte sera noir, par défaut.
- R : Niveau de rouge.
- V : Niveau de vert.
- B : Niveau de bleu.
$captcha -> setTextColor( 112 , 150 , 200 );
Définie une largeur pour l'image (optionnel)
setImageWidth( int Width )
Optionnel. Définie la largeur de l'image qui sera générée. Si cette largeur n'est pas définie, elle sera calculée automatiquement en fonction des autres paramètres (bordure, et marge).
- Width : Largeur de l'image générée.
$captcha -> setImageWidth( 150 );
Définie la hauteur pour l'image (optionnel)
setImageHeight( int Height )
Optionnel. Définie la hauteur de l'image qui sera générée. Si cette hauteur n'est pas définie, elle sera calculée automatiquement en fonction des autres paramètres (bordure, et marge).
- Height : Hauteur de l'image générée.
$captcha -> setImageHeight( 100 );
Définie si une ombre doit être appliquée sur le texte
setShadow( [ , int X [ , int Y ] ] )
Définie si une ombre doit être appliquée au texte et optionnellement sa position.
- X : Décalage en abcisse en pixel.
- Y : Décalage en ordonné en pixel.
$captcha -> setShadow();$captcha -> setShadow( 2 );$captcha -> setShadow( 2 , 4 );$captcha -> setShadow( 0 , 2 );
Définie la couleur de l'ombre (optionnel)
setShadowColor( int R , int V , int B )
Définie la couleur de l'ombre. Grise par défaut.
- R : Niveau de rouge.
- V : Niveau de vert.
- B : Niveau de bleu.
$captcha -> setShadowColor( 12 , 150 , 200 );
Définie un angle d'affichage pour le texte
setTextAngle( int Angle )
Définie un angle pour le texte.
- Angle : Angle, en degrés, du texte.
$captcha -> setTextAngle( 5 );
Définir une marge pour l'ecriture du texte
setFromBorder( int From )
Définie une marge, à partir de laquelle le texte sera ecrit
- From : Marge en pixels.
$captcha -> setFromBorder( 10 );
Coins arrondis
setRoundedCorners( int Radius )
Ajoute un arrondi à chaque coin de la bordure
- Radius : Angle.
$captcha -> setRoundedCorners( 5 );
Génère l'image et l'affiche
getImage()
Affiche l'image à l'ecran.
$captcha -> getImage():
Récupère la chaîne aléatoire générée
getRandString()
Récupère la chaîne qui a été générée aléatoirement, indispensable en vue d'un contrôle ultérieur.
$captcha -> getRandString():