Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).
Se suele usar en páginas web en las que se solicita información que se quiere garantizar que ha sido tecleada por un humano, ya que se presume que las máquinas son incapaces de leer el captcha.
Aquí tienen el código en Delphi para generar captchas
Otra forma de hacerlo:
procedure TForm1.letrasAnguladas(c : string; angulo : integer; nextPos : Integer);
var
logfont:TLogFont;
font: Thandle;
begin
LogFont.lfheight:=30;
logfont.lfwidth:=10;
logfont.lfweight:=900;
LogFont.lfEscapement:=angulo;
logfont.lfcharset:=1;
logfont.lfoutprecision:=OUT_TT_ONLY_PRECIS;
logfont.lfquality:= DEFAULT_QUALITY;
logfont.lfpitchandfamily:= FF_SWISS;
logfont.lfUnderline := 0;
logfont.lfStrikeOut := 0;
font:=createfontindirect(logfont);
Selectobject(Image1.canvas.handle,font);
SetTextColor(Image1.canvas.handle,rgb(0,180,0));
SetBKmode(Image1.canvas.handle,transparent);
Image1.canvas.textout(nextPos,Image1.Height div 3,c);
SetTextColor(Image1.canvas.handle,rgb(Random(255),Random(255),Random(255)));
deleteobject(font);
end;
//se llama así
for vX := 1 to Length(strCaptcha) do
letrasAnguladas(strCaptcha[vX],Random(600)+1,25*vX-15);
//añadimos algunas líneas
for i := 0 to 15 do begin
Image1.Canvas.Pen.Color := Random(100000);
Image1.Canvas.MoveTo(random(Image1.Width), random(Image1.Height));
Image1.Canvas.LineTo(random(Image1.Width), random(Image1.Height));
end;
y obtenemos esto:
Excelente... con unas pequeñas modificaciones lo adapte a mi programa WEB
ResponderEliminarExcelent, with a few modifications I addapted it to my WEB BASED program
Gracias por compartir estaba buscando como generar captcha.
ResponderEliminar;)