8768 sujets

Développement web côté serveur, CMS

Bonsoir,

sur une base proposée par PrimFX, j'ai écrit le fichier suivant :

<?php // cache-pot.image

error_reporting( E_ALL ) ;
 
header( "Content-type: image/jpeg" ) ;
$image = imagecreate( 250, 33 ) ;

$font = "Style/helvetica.ttf" ;

$bgcolor = imagecolorallocate( $image, 255, 255, 255 ) ;
$textcolor = imagecolorallocate( $image, 0, 0, 0 ) ;

$autocars = str_split( "ABCDEFGHKLMNPRTWXYZ234569", 1 ) ;
$liste = array() ;
for( $n=0, $size=mt_rand( 5, 9 ); $n<$size; $n++ ) $liste[] = $autocars[array_rand( $autocars )] ;
$string = implode( "", $liste ) ;
imagettftext( $image, 25, 0, 0, 30, $textcolor, $font, $string ) ;

session_start() ; $_SESSION[ "cache-pot" ] = $string ;
  
imagejpeg( $image ) ;
imagedestroy( $image ) ;

?>


Cela rend, à peu près, ce que je veux : http://labo.hebergratuit.net/Rebel/?contact-form sauf que les caractères sont très lisibles, bien sûr !

Comment brouiller le texte ?
Modérateur
Bonsoir,

tu pourrait te servir de filtre pour un premier effet. https://www.php.net/manual/fr/function.imagefilter.php
et par exemple en passer un ou plusieurs avant d'afficher l'image :
imagefilter($image, IMG_FILTER_EMBOSS);
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR); 
imagefilter($image, IMG_FILTER_PIXELATE, 3, true);
imagejpeg( $image ) ;


, inclure les minuscules aussi et peut-être dessiné les lettres une a une dans quelques fontes, couleurs et tailles différentes ?

Enfin optez pour une fonte en italique voir une de type https://opendyslexic.org/ pour faciliter sa lecture aux humains une fois tripatouillée Smiley cligne

Cdt
gcyrillus a écrit :
Enfin optez pour une fonte en italique voir une de type https://opendyslexic.org/ pour faciliter sa lecture aux humains une fois tripatouillée.

Ouf ! je ne sais pas si ça aide les dyslexiques, mais pour moi cette font est illisible !
Modérateur
Olivier C a écrit :

Ouf ! je ne sais pas si ça aide les dyslexiques, mais pour moi cette font est illisible !


C'est normal, c'est en anglais Smiley lol
Modérateur
JENCAL a écrit :
perso j'arrive pas à lire le captcha Smiley corde

Bah ca veut dire que t'es un robot... Smiley eek bienvenu dans la matrice
Il est vrai que c'est costaud, mais j'arrive, à peu près à déchiffrer. On verra ce que dira le commanditaire.