Kłopoty z generowaniem obrazka

Odpowiedz Nowy wątek
2015-01-04 17:32
0

Od jakiegoś czasu eksperymentuję z GD Image w PHP, napisałem sobie taki testowy skrypt:

$string = $rnd (wynik funkcji generujacy losowy tekst);

        $font_size = rand(6, 48); 
        $width  = 140+imagefontwidth($font_size)*strlen($string); 
        $height = 36+imagefontheight($font_size); 
        $img    = imagecreate($width,$height); 
        $bg     = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)); 
        $color  = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)); 
        $len    = strlen($string); 
        $ypos   = 14; 

        for($i=0;$i<$len;$i++){ 

            $xpos = 64+$i * imagefontwidth($font_size); 
            imagechar($img, rand(2, $font_size+20), $xpos, rand(2, $ypos), $string, $color); 
            $string = substr($string, 1);    

        } 
        //header("Content-Type: image/png");
        imagepng($img); 
        imagedestroy($img); 

Gdy w imagepng podam drugi argument (nazwę pliku) to plik owszem, zapisuje się, ale kiedy chcę go bezpośrednio wywołać to
oto co otrzymuję w oknie przeglądarki.
http://scr.hu/1yl7/63kgo

Czy mogę liczyć na wasze wsparcie w rozwiązaniu tego problemu?

PS: Szukałem tu innych rozwiązań, wszystkie skrypty do generowania obrazków na 4p skutkują takim samym efektem, ale dodam, że mój skrypt kiedyś działał.

http://scr.hu/1yl7/9608b

edytowany 2x, ostatnio: dzek69, 2015-01-04 19:07
na forum mamy tagi kolorujące składnię - następnym razem ich używaj - dzek69 2015-01-04 19:08

Pozostało 580 znaków

2015-01-04 19:07
0

zapewne Twój skrypt wywołuje jakiś błąd/notice, który normalnie php wywala na strone (typu undefinex index itd) - ale ponieważ każesz przeglądarce interpretować zwrot jako obrazek - nie widzisz tego tekstu, tylko "połamany" obrazek.


Pozostało 580 znaków

2015-01-04 19:16
0

Dzek69, też o tym pomyślałem, ale w logach czysto, no i kolejna sprawa, skrypt (jak pisałem wcześniej) napisany od strzała i tekst
z obrazkiem się generował, więc odłożyłem go na później, skrypt poleżał nieruszony tydzień, może dwa, odpalam go dziś, no i połamaniec...

A żeby było jeszcze śmieszniej, skopiowałem całość do innego pliku - zapisałem no i skrypt odpalił, obrazek został wygenerowany.
No ja tego nie czaję ;)

Ale to nie pierwsze takie czary, jakie mi się w tym roku przytrafiły w programowaniu :]

(Funkcja "A" zwraca tablicę asocjacyjną, a funkcja "B", która nie ma ani jednej definicji tablicy, by wyświetlić dane sama z siebie generuje jeszcze 2 dodatkowe tablice.)

Pozostało 580 znaków

2015-01-04 19:22
0

A żeby było jeszcze śmieszniej, skopiowałem całość do innego pliku - zapisałem no i skrypt odpalił, obrazek został wygenerowany.

A... to wina IDE zapewne, albo konkretniej jakiegoś notatnika w którym to pewnie składasz - plik zapisał Ci się jako UTF-8 z BOM, a powinien być UTF-8 bez BOM ;)


Pozostało 580 znaków

2015-01-04 19:27
0

O widzsz, tej kwestii się nie przyjrzałem, ale porównam sobie kodowania ;D
Jeszcze spróbuję znaleźć sposób, by jakoś te litery nie nachodziły na siebie tak mocno, bo reCaptcha stanie się zupełnie nieczytelna :D

captcha, recaptcha to czyjś mechanizm captcha o takiej nazwie ;) - dzek69 2015-01-04 19:30
Ok, niech będzie, że to własny system antyspamowy :) - Chuppa 2015-01-04 19:34

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0