Kod
<?php
$slowa=file('hasla.txt');
if(isset($_GET['id']))
$nr=$_GET['id'];
else $nr=rand(0,count($slowa)-1);
$slowo=$slowa[$nr];
$wysokosc=20;
$szerokosc=60;
$pic=ImageCreate($szerokosc,$wysokosc);
$bialy=ImageColorAllocate($pic,255,255,255);
$czarny=ImageColorAllocate($pic,0,0,0);
$szary=ImageColorAllocate($pic,150,150,150);
ImageFill($pic,1,1,$bialy);
for($i=0;$i<100;$i++)
{
$los1=rand(0,$szerokosc);
$los2=rand(0,$wysokosc);
ImageLine($pic,$los1,$los2,$los1,$los2,$szary);
}
for($i=0;$i<count($slowa);$i++)
{
$rozmiar=rand(2,5);
ImageString($pic,$rozmiar,$i*10+7,3,trim($slowo[$i]),$czarny);
}
Header("Content-type: image/gif");
ImageGIF($pic);
?>
$slowa=file('hasla.txt');
if(isset($_GET['id']))
$nr=$_GET['id'];
else $nr=rand(0,count($slowa)-1);
$slowo=$slowa[$nr];
$wysokosc=20;
$szerokosc=60;
$pic=ImageCreate($szerokosc,$wysokosc);
$bialy=ImageColorAllocate($pic,255,255,255);
$czarny=ImageColorAllocate($pic,0,0,0);
$szary=ImageColorAllocate($pic,150,150,150);
ImageFill($pic,1,1,$bialy);
for($i=0;$i<100;$i++)
{
$los1=rand(0,$szerokosc);
$los2=rand(0,$wysokosc);
ImageLine($pic,$los1,$los2,$los1,$los2,$szary);
}
for($i=0;$i<count($slowa);$i++)
{
$rozmiar=rand(2,5);
ImageString($pic,$rozmiar,$i*10+7,3,trim($slowo[$i]),$czarny);
}
Header("Content-type: image/gif");
ImageGIF($pic);
?>
i co do powyższego kodu mam kilka zasadniczych pytań, od początku czyli:
else $nr=rand(0,count($slowa)-1);
jakie zadanie ma -1 ? bo po testach zauważyłem, że gdy jest -1 to zawsze wyświetli się wyraz, a jeżeli nie ma tego -1 to niekiedy nie wyświetla się wyraz tylko samo tło tokenu, nie rozumiem tego(?)
druga sprawa to druga pętla for:
Kod
for($i=0;$i<count($slowa);$i++)
{
$rozmiar=rand(2,5);
ImageString($pic,$rozmiar,$i*10+7,3,trim($slowo[$i]),$czarny);
}
{
$rozmiar=rand(2,5);
ImageString($pic,$rozmiar,$i*10+7,3,trim($slowo[$i]),$czarny);
}
i dokładnie nie rozumiem tam tego:
$i*10+7, to jest 3 argument tej funkcji, który ma być punktem zaczęcia napisu z lewej górnej strony, tak pisze w manualu w takim razie dlaczego $i*10 to jest przerwa pomiędzy kolejnymi literami, a 7 to odległość napisu z lewej strony?
testowałem inny obrazek bez pętli to działał normalnie czyli 3 argument to była poprostu odległość od lewego górnego pkt.
nie rozumiem jednak tej pętli, z góry dzięki za cierpliwosc i wytlumaczenie :]
pzdr.