Ankündigung

Einklappen
Keine Ankündigung bisher.

Captcha_k313

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Scriptangebot Captcha_k313

    CAPTCHA_K313
    created: 0.0015 sec.
    _
    Signaturrrrrrr


  • #2
    Wenn du deine Zahlen schon drehst wirds ziemlich schwierig zwischen 6 und 9 zu unterscheiden. Aber fuer den Anfang ja schon mal OK.
    "Mein Name ist Lohse, ich kaufe hier ein."

    Kommentar


    • #3
      Ich weiß, ich bin da übertrieben konservativ und voll nicht 2.0, aber ich denke, ein, zwei erklärende Sätze würden sehr zum Verständnis beitragen.

      Andererseits: http://www.html.de/php/40790-captcha...tml#post303667

      Aus manchen Posts werde ich einfach nicht schlau. Aber das ist ja auch nicht schlimm.

      Edit: Abgesehen davon scheint das Script aber ganz schick zu sein.

      Kommentar


      • #4
        Was um "6" und "9" geht - die beide konnen nicht meher alse 40 grad umgedreht werden.
        and wie gewunscht - zwei sätze zum erklärung:
        natürlich ist das nur ein beispiel für anfang. es würde nicht schlecht das bild sonst bischen transformieren usw...
        Zum beispiel, wollte ich jeder simbol auf zwei teilen brechen, und ich hab's geschafft, aber nur wenn ich jeder pixel ablese und uberschreibe. dass kostet viel zeit, fast 100 mal meher. Deswegen wollte ich die linien und curven noch vor dem writung per mathematik und geometrie ausrechnen, aber... zum geometrie habe ich nich viel lust...

        freue mich wenn jeman erklärt wie kann man die koordinaten von punkt "C" finden.
        die koordinaten von "A" und "B" und auch ihre winkeln habe ich, und die linie "O-C" ist keine meridian für "A-B"
        __________________________________
        bloße code
        PHP-Code:
        $micro=microtime(true);
        ini_set('display_errors'0);
        error_reporting(0);
        //===
        //===
        header("Content-type: image/jpeg");
        header("Pragma: no-cache");
        header("Expires: Mon, 25 Jul 2011 05:00:00 GMT");
        header("Last-Modified: " gmdate("D, d M Y H:i:s"10000) . " GMT");
        header("Cache-Control: no-store, no-cache, must-revalidate");
        header("Cache-Control: post-check=0, pre-check=0"false);

        $arr=array(
                   array(
        180,0,20,20,10,0,2000,180,0,40,40,10,0,2000,0,180,20,20,-10,0,2000,0,180,40,40,-10,0,2000,10,-20,1000,-10,-20,10,-10,1000,-10,-10,10,10,1000,-10,10,10,20,1000,-10,20),
                   array(-
        30,10,1000,-15,-5,1000,-5,-5,1000,-5,0,1000,30,0,1000,30,10,1000,-30,10),
                   array(
        180,0,10,10,-12,-10,2000,40,-180,35,35,-12,2,2000,40,-180,15,15,-12,2,2000,-7,7,1000,18,-18,1000,30,-18,1000,30,20,1000,21,20,0,-180,10,10,21,15,2000,21,10,1000,21,-7,1000,-2,16),
                   array(-
        10,160,11,11,13,-14,2000,165,-78,20,20,10,0,2000,165,-38,40,40,10,0,2000,180,0,10,10,-12,-10,2000,38,-180,35,35,-12,2,2000,90,180,15,15,-12,2,2000,0,2,1000,-5,2),
                   array(-
        5,5,1000,10,-10,1000,10,5,1000,-5,5,-30,15,1000,5,-20,1000,20,-20,1000,20,5,1000,30,5,1000,30,15,1000,20,15,1000,20,20,1000,10,20,1000,10,15,1000,-30,15),
                   array(-
        10,160,11,11,13,-14,2000,165,-90,20,20,10,0,2000,165,-90,40,40,10,0,2000,180,0,10,10,-20,15,2000,-10,0,1000,-10,-5,1000,-20,-5,1000,-20,10,-20,20,1000,-30,20,1000,-30,-15,1000,0,-15,1000,0,0),
                   array(-
        90,-90,20,20,10,0,2000,-135,-78,40,40,10,0,2000,-9,4,1000,-25,20,1000,-30,20,1000,-30,12,1000,-4,-14),
                   array(
        180,0,10,10,-20,-15,2000,-20,-20,1000,-30,-20,1000,-30,20,1000,-2,20,1000,30,-12,1000,30,-20,1000,25,-20,1000,-5,10,1000,-20,10,1000,-20,-10),
                   array(
        0,0,20,20,10,0,2000,-134,-38,40,40,10,0,2000,38,154,35,35,-12,2,2000,0,0,15,15,-12,2,2000,4,7),
                   array(
        0,0,20,20,-10,0,2000,45,102,40,40,-10,0,2000,9,-4,1000,25,-20,1000,30,-20,1000,30,-12,1000,4,14),
                   );

        $scale=2;
        $anglea=true;
        $intlen=strlen($int=substr(rand(10000000,99999999),rand(0,2),rand(5,6)));
        $ifon=imagecreatetruecolor(240*$scale,80*$scale);
        $c0=imagecolorallocate($ifon,255,255,255);
        $c1=imagecolorallocate($ifon,0,0,0);
        //===
        imagefill($ifon,0,0,$c0);
        $posiz=rand(0,220*$scale-$intlen*40*$scale+8*$intlen*$scale);
        for(
        $j=0,$i=$intlen;$i>0;$j++) {mycharwrite($int{$j},$posiz,$scale); $i--; $posiz+=rand(30*$scale,240*$scale-$posiz-$i*40*$scale);}

        function 
        mycharwrite($char,$x,$scale) {
                global 
        $ifon$c0$c1$anglea$arr;
                
        $x+=20*$scale;
                
        $y=rand(30*$scale,50*$scale);
                
        imagesetthickness($ifon,1);
                if(
        $anglea && $char!=&& $char!=&& (($angleb=rand(-179,180))<-45 || $angleb>45)) {$anglea=false;}
                else {
        $angleb=rand(-40,40);}
                
        $scale=rand($scale*140,$scale*70)/100;
                
        $angle=deg2rad($angleb);
                
        $i=count($arra=$arr[$char])-3;
                list(
        $x1,$y1)=myangle($arra[$i+2]*$scale,$arra[$i+1]*$scale,$angle);
                for(;
        $i>1;$i--) {
                        if((
        $a=$arra[$i])==1000) {
                                
        $xa=$x1;
                                
        $ya=$y1;
                                list(
        $x1,$y1)=myangle($arra[$i-1]*$scale,$arra[$i-2]*$scale,$angle);
                                
        imageline($ifon,$x+$xa,$y+$ya,$x+$x1,$y+$y1,$c1);
                                
        $i-=2;
                        }
                        elseif(
        $a==2000) {
                                list(
        $x1,$y1)=myangle($arra[$i-1]*$scale,$arra[$i-2]*$scale,$angle);
                                
        imagearc($ifon,$x+$x1,$y+$y1,$arra[$i-3]*$scale,$arra[$i-4]*$scale,$arra[$i-5]+$angleb,$arra[$i-6]+$angleb,$c1);
                                
        $i-=6;
                        }
                        else {list(
        $x1,$y1)=myangle($a*$scale,$arra[$i-1]*$scale,$angle); $i--;}
                }
        }

        function 
        myangle($x,$y,$angle) {
                
        $a=atan2($y,$x)+$angle;
                
        $b=sqrt(pow($x,2)+pow($y,2));
                return array(
        cos($a)*$b,sin($a)*$b);
        }
        //===
        imagestring($ifon,5,10,5,"created: ".substr(microtime(true)-$micro,0,6)." sec.",$c1);

        imagejpeg($ifon);
        imagedestroy($ifon);
        exit; 
        Signaturrrrrrr

        Kommentar


        • #5
          freue mich wenn jeman erklärt wie kann man die koordinaten von punkt "C" finden.
          die koordinaten von "A" und "B" und auch ihre winkeln habe ich, und die linie "O-C" ist keine meridian für "A-B"
          Mir ist leider nicht ganz klar, was du da genau bestimmen möchtest, also wie du C „inhaltlich“ definierst.

          Kommentar


          • #6
            mit "O-C" will ich den Simbol auf zwei teilen brechen und bisschen von einandern schieben. das bedeutet, dass alles was über "O-C" steht wird mit differenz etwa 1-10px writed.
            Signaturrrrrrr

            Kommentar


            • #7
              Bau doch mal bitte nen "Licht an!"-Knopf auf deiner Webseite ein, die Wirkt auf nem LED-Display wie nen Multi-Source-Laser der mir die Netzhaut glätten will.
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                Was du machen willst, nennt sich wohl Clipping.

                - http://de.wikipedia.org/wiki/Clippin...putergrafik%29
                - http://de.wikipedia.org/wiki/Algorit...erland-Hodgman

                Ich würde die einzelnen Zahlen-„Polygone” vor der Translation und Rotation clippen.

                Für die Bögen wirst du dir da aber etwas überlegen müssen. (Dazu kann ich spontan nichts sagen. Das sollte aber auch zu schaffen sein. Könnte eine ganz interessante Aufgabe sein.)

                Für die Transformationen empfehlen sich dann prinzipiell Matrizen. Die solltest du dir in jedem Fall mal ansehen. Weiß nicht, ob du damit sowieso umgehen kannst, aber das ist hinzukriegen und überaus nützlich.

                - http://en.wikipedia.org/wiki/Transfo...in_2D_graphics

                Die kannst du miteinander multiplizieren und erhältst dann eine einzige Matrix, die du auf die Punkte des Polygons anwenden kannst, um sie an die richtigen Stellen zu bekommen.

                Das sollte auch problemlos mit Kreisbögen funktionieren, wenn du die beiden Endpunkte bestimmst. Die Schwierigkeit ist dort das Clipping.

                PS: Ich kann nicht beurteilen, inwieweit du sowas schon machst. Dein Code ist etwas unlesbar. Der ist eigentlich in keiner Form, mit der andere Programmierer wirklich arbeiten könnten.

                Kommentar


                • #9
                  danke fürs hilfe!
                  genau das wollte ich - clippen vor der translation, und beim curven geht's einfacher glaube ich. ich habe die center-koordinaten von "imagearc" und alles was ich muss, ist die imagearc bis zum gleichen winkel des "O-C" writen, dann Abbruch, und weiter schon mit differenz-center-koordinaten imagearc weiter writen... so denke ich mal.
                  Aber ehrlich zu sagen, habe ich, nexte paar wochen vielleicht, keine zeit dafür (bin beschäfftig mit andere sache) spähter fahre ich fort...
                  _________________________
                  na ja, mit den curven falsch gequatscht. So was geht nur wenn die center-coordinaten auf den "O-C" liegen... bleibt für mich als eine interessante Aufgabe.
                  Signaturrrrrrr

                  Kommentar


                  • #10
                    Alsooooo... So genannte "paar Wochen" mussen jetzt endlich vorbei werden.
                    Lasse meine Scripten nach und nach freigeben, mit etwas, was man manchmal als die Beschreibung nennen kann.

                    http://wp-de.k313.net/
                    Signaturrrrrrr

                    Kommentar


                    • #11
                      Hallo!

                      Captchas sind out, nicht barrierefrei und vom vielen Bots leicht zu umgehen. Besser auf Honigtöpfe (Honeypots) setzen, darauf fallen die Bots noch immer herein.

                      Gruß, René

                      Kommentar

                      Lädt...
                      X