Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /** src lib: http://pastebin.com/a0FmYzeY **/
- ob_start();
- session_start();
- require './paint.php';
- $paint = new Paint();
- # wymiary naszego obrazka
- $szerokosc = 145;
- $wysokosc = 45;
- # stworzenie nowego obrazka wypełnionego kolorem
- $captcha = $paint->stworz( $szerokosc, $wysokosc, '180, 170, 144' );
- # wylosowanie liczby kresek utrudniających odczyt kodu
- $liczba_kresek = rand( 20, 30 );
- # rysowanie wylosowanej ilości kresek z różnymi wymiarami
- for ( $i = 0; $i < $liczba_kresek; $i++ )
- {
- $sz = rand( 0, $szerokosc + 10 );
- $x2 = rand( 0, $wysokosc );
- $y2 = rand( 0, max( $szerokosc, $szerokosc - 15 ) );
- $paint->rysuj( $captcha, 'linia', '255,25,120', true, $sz, 1, $x2, $y2 );
- }
- # generowanie losowego ciągu
- $kod_captcha = '';
- $zakres_znakow = '1234789ABDEFGJKLMPQTUVWXYZ';
- $iterator = 0;
- while ( $iterator < 5 )
- {
- $kod_captcha .= substr( $zakres_znakow, mt_rand( 0, strlen( $zakres_znakow ) - 1 ), 1 );
- $iterator++;
- }
- # wygenerowany kod przypisujemy do sesji
- # zamieniamy wszystkie litery w kodzie na małe
- $_SESSION['kod_captcha'] = strtolower( $kod_captcha );
- # nanosimy stworzony kod na obrazek
- $paint->tekst( $captcha, rand( 18, 20 ), rand( -5, 5 ), 40, 25, '0,0,0', 'captcha_font', $_SESSION['kod_captcha'] );
- # wysyłamy obrazek do przeglądarki
- # kompresujemy jakość png do wartości 5
- $paint->wyswietl( $captcha, 'png', 5 );
- # na koniec usuwamy z pamięci obrazek
- $paint->wyczysc( $captcha );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement