Salve! A me dà questo errore:
Warning: Cannot send session cookie - headers already sent by (output started at /home/http/phptest/varie/captcha.class.php:50) in /home/http/phptest/varie/trycaptcha.php on line 4
Salve! A me dà questo errore:
Warning: Cannot send session cookie - headers already sent by (output started at /home/http/phptest/varie/captcha.class.php:50) in /home/http/phptest/varie/trycaptcha.php on line 4
Che il pelo cresca sempre fluente sui vostri piedi
Bilbo
Visita il sito della Società Tolkieniana Italiana
controlla di nn avere spazi alla fine del file captcha.class.php, soprattutto dopo il tag di chiusura di php.
![]()
think simple think ringo
Sì, ho fatto, ed in effetti ora sono spariti gli errori. Sono però anche sicuro di avere le GD installare, eppure mi compare sempre e solo il testo alternativo.[supersaibal]Originariamente inviato da marketto
controlla di nn avere spazi alla fine del file captcha.class.php, soprattutto dopo il tag di chiusura di php.
[/supersaibal]
Ciauz!
Che il pelo cresca sempre fluente sui vostri piedi
Bilbo
Visita il sito della Società Tolkieniana Italiana
prova velocemente a scrivere una cosa di qst tipo:
codice:<?php require_once('captcha.class.php'); $captcha=new captcha(); $captcha->offuscamento=3; $captcha->genera('ciao'); ?>
think simple think ringo
Trovato! Era un problema di font, ho messo un font a caso nella stessa directory della pagina ed ho ovviamente aggiustato la classe per rispecchiare il font e tutto è andato a posto, ora proverò con font in directory diverse (per pulizia di codice) ma comunque già funziona.Originariamente inviato da marketto
prova velocemente a scrivere una cosa di qst tipo:
...
Grazie!
Che il pelo cresca sempre fluente sui vostri piedi
Bilbo
Visita il sito della Società Tolkieniana Italiana
ciao, eccovi il la per ulteriori implementazioni:
codice:<?php error_reporting(E_ALL); # COORDINATE STRUTTURA LETTERA A $punti=array( array( 0,200, 25,100, 50,0, 75,100, 25,100, ), array( 75,100, 100,200 ) ); /* # COORDINATE STRUTTURA LETTERA B $punti=array( array( 0,50, 0,0, 50,0, 75,25, 50,50, 0,50 ), array( 50,50, 75,75, 50,100, 0,100, 0,50 ) ); */ //------------------------------------- function coordinate($punti,&$x,&$y){ foreach($punti as $chiavesottonodo=>$sottonodo){ foreach($sottonodo as $chiave=>$valore){ if($chiave % 2 == 0) $x[$chiavesottonodo][]=$valore; else $y[$chiavesottonodo][]=$valore; } } } //------------------------------------- $x=array(); $y=array(); coordinate($punti,$x,$y); $start_x=20; $start_y=10; $dim_x=400; $dim_y=400; $im=imagecreate($dim_x,$dim_y); $bianco=imagecolorallocate($im, 255, 255, 255); $nero=imagecolorallocate($im, 0, 0, 0); imagesetthickness($im,2); $temp=array(); foreach($x as $chiavesottonodo=>$sottonodo){ for($i=0,$j=count($sottonodo)-1;$i<$j;$i++){ $segno=mt_rand(0,1) == 0 ? (int) '-1' : (int) '+1'; $temp[0]=round( ($x[$chiavesottonodo][$i] + $x[$chiavesottonodo][$i+1]) /2) + mt_rand(1,15)*$segno; $temp[1]=round( ($y[$chiavesottonodo][$i] + $y[$chiavesottonodo][$i+1]) /2) + mt_rand(1,15)*$segno; imageline($im,$start_x + $x[$chiavesottonodo][$i],$start_y + $y[$chiavesottonodo][$i],$start_x + $temp[0],$start_y + $temp[1],$nero); imageline($im,$start_x + $temp[0],$start_y + $temp[1],$start_x + $x[$chiavesottonodo][$i+1],$start_y + $y[$chiavesottonodo][$i+1],$nero); } } $max=ceil($dim_x * $dim_y / 5); for($i=0;$i<$max;$i++){ $temp_x=mt_rand(1,$dim_x); $temp_y=mt_rand(1,$dim_y); imageline ($im, $temp_x, $temp_y, $temp_x, $temp_y, $nero); } header("content-type: image/jpeg"); imagejpeg($im,"",80); imagedestroy($im); ?>
![]()
think simple think ringo
ci sto lavorando pure io sulla stessa cosama sto facendo qualcosa di + raffinato ... utilizzando un elenco di punti ed un elenco di giunzioni ... e sulle lettere viene applicato un effetto a caso ... (vento, goccia, rumore, o altro) e la lettera viene deformata un po ... mentre per disegnarla uso poi le curve di bezier in modo da ottenere le lettere con forme curve e non squadrate
l'unica cosa che ho un po di problemi è a fare è la creazione degli scheletri dei font ... che sono indeciso su come realizzarla ... ovvero o tramite riconoscimento dei bordi ... oppure tramite un altro sistema più impreciso ma più lento![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
sapevo che nn avresti resistito[supersaibal]Originariamente inviato da daniele_dll
ci sto lavorando pure io sulla stessa cosama sto facendo qualcosa di + raffinato ... utilizzando un elenco di punti ed un elenco di giunzioni ... e sulle lettere viene applicato un effetto a caso ... (vento, goccia, rumore, o altro) e la lettera viene deformata un po ... mentre per disegnarla uso poi le curve di bezier in modo da ottenere le lettere con forme curve e non squadrate
l'unica cosa che ho un po di problemi è a fare è la creazione degli scheletri dei font ... che sono indeciso su come realizzarla ... ovvero o tramite riconoscimento dei bordi ... oppure tramite un altro sistema più impreciso ma più lento[/supersaibal]
![]()
buon lavoro allora, io mi fermo con il codice precedente, nn ho voglia di sbattere la testa ulteriormente...xò se hai problemi chiedi pure![]()
aspetto i risultati![]()
think simple think ringo
già riesco a generare +/- quello che fa il tuo codice ... ma partendo da un elenco di linee e di punti che definiscono il font ... ed ho già implementato la possibilità di impostare la dimensione del font[supersaibal]Originariamente inviato da marketto
sapevo che nn avresti resistito![]()
buon lavoro allora, io mi fermo con il codice precedente, nn ho voglia di sbattere la testa ulteriormente...xò se hai problemi chiedi pure![]()
aspetto i risultati[/supersaibal]
ovvero ... devo modificare un pochino il codice nel calcolo delle dimensioni massime dell'immagine ... xo mi basta un ciclo for e dovrei già poter modellare la figura come voglio ... x lo + devo implementare ... 1, 2 algorittimi di distorsione ... e uno di questi sarà sicuramente qualcosa tipo "vento" ...![]()
PS: xora il mio "font" supporta solo il glipho (ovvero il carattere, se cosi si può dire) I (maiuscola) xo ... è già qualcosa ... xo lo + volevo implementare, a lavoro finito, 2 cose
- un lettore di font svg
- un sistema per rendere + flessibile il font, ovvero si estrae le lettere che gli servono, e aumenta il numero di punti per linea, in modo da avere meno spezzate all'interno
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
[supersaibal]Originariamente inviato da daniele_dll
già riesco a generare +/- quello che fa il tuo codice ... ma partendo da un elenco di linee e di punti che definiscono il font ... ed ho già implementato la possibilità di impostare la dimensione del font
ovvero ... devo modificare un pochino il codice nel calcolo delle dimensioni massime dell'immagine ... xo mi basta un ciclo for e dovrei già poter modellare la figura come voglio ... x lo + devo implementare ... 1, 2 algorittimi di distorsione ... e uno di questi sarà sicuramente qualcosa tipo "vento" ...![]()
PS: xora il mio "font" supporta solo il glipho (ovvero il carattere, se cosi si può dire) I (maiuscola) xo ... è già qualcosa ... xo lo + volevo implementare, a lavoro finito, 2 cose
- un lettore di font svg
- un sistema per rendere + flessibile il font, ovvero si estrae le lettere che gli servono, e aumenta il numero di punti per linea, in modo da avere meno spezzate all'interno [/supersaibal]![]()
![]()
cmq una volta stabiliti i punti minimi necessari, ovvero i "vertici" della singola lettera, basta dividere ogni singolo segmento in tot parti per diminuire il numero di spezzate...nn credo sia necessario dover inserire troppi punti...
think simple think ringo