PHP tecaj: treca lekcija
Obrada slika
Paznja:
U PHP postoji naredba ImageGif().
Uz pomoc ove naredbe mozemo “napraviti” neku GIF-slicicu.
Za to su nam jos potrebne funkcije sadrzane u slobodno dostupnoj (free) biblioteci gd.
Firma Unisys ima patent-prava za LZW komprimiranje podataka, koje se, izmedju ostalog, primjenjuje i kod pravljenja “GIF-slicica“.
Posto firma UNISYS zabranjuje pravnim putem upotrebu ovog LZW komprimiranja, u novijim verzijama gd biblioteke nije vise moguce praviti GIF-slicice.
Tako da je kao rezultat svega ovoga : PHP naredba ImageGif() se ne moze vise koristiti !!
Vjerovatno se sada pitate : “Zasto da citam nesto sto se vise ne koristi?”. Odgovor je jednostavan, koriscenje funkcije koja plaze .jpg slike je gotovo identicna.
Osim toga nove funkcije se dodaju gotovo dnevno, i u svakom slucaju cete redovno morati (ili zeljeti?) da upoznate najnovije funkcije koje olaksavaju i omogucuju rad sa PHP-om.
PHP se ne koristi samo za stvaranje HTML teksta, isto tako je moguce dinamicko pravljenje slika. Npr. mogli bi poloziti jedan fajl pod imenom slika.php3 , cijim bi pozivom dobili sliku.
Ovaj fajl ne bi sadzavao HTML, u njemu bi stajale iskljucivo PHP – naredbe.
ISKLJUCIVO znaci isto tako da prije prve <? naredbe ne smije stajati nista (bas nista, cak ni prazno mjesto ili red !!).
U suprotnom slucaju bi “browser” ocekivao nekakav tekstualni dokument. ( A browser ne smijemo razocarati .
Slijedi PRIMJER:
<?
Header( “Content-type: image/gif”);
$slicica = imagecreate(200,100);
$plava = ImageColorAllocate($slicica, 0x2c,0x6D,0xAF);
ImageFilledRectangle($im,0,0,200,100,$plava);
ImageGif($slicica);
ImageDestroy($slicica);
?>
Ako pozovemo ovaj fajl, dobicemo jedan plavi pravougaonik.
Naravno, koristeci:
<IMG SRC=”slika.php3″>
mozemo povezati ovaj pravougaonik u nekoj HTML stranici.
Sta postizemo gore navedenim naredbama?
Naredba:
Header( “Content-type: image/gif”);
najavljuje browser-u da je ono sto slijedi jedna GIF-slicica.(Ako zelimo sprijeciti javljanje greske mozemo privremeno ovaj red “izbaciti iz upotrebe” ostavljajuci ga kao komentar stavljanjem znaka # na pocetak reda.)
Naredba:
$slicica = imagecreate(200,100);
pravi jednu slicicu koja je 200 px (piksli) siroka i 100 px visoka.
Svaka boja mora biti prije same upotrebe “stvorena” tj. odredjena. Ovo postizemo naredbom:
$plava = ImageColorAllocate($im, 0x2c,0x6D,0xAF);
ovdje je $slicica slika za koju odredjujemo farbu, ostala tri parametra predstavljaju hexadecimalne RGB-vrijednosti. (Obrati paznju na sintaksu: 0x2c odgovara decimalnom udjelu udio crvene boje od 36).
Sa:
ImageFilledRectangle($slicica,0,0,200,100,$plava);
nacrtacemo jedan popunjeni pravougaonik , koji pocinje u lijevom gornjem uglu (0,0), i zavrsava 200 px desno i 100 px dole. Naravno, ispunjen je sa prije odredjenom ( u promjenjljivoj $plava) plavom bojom.
Naredba:
ImageGif($slicica);
znaci: najprije pravi jednu GIF-slicicu na osnovu “unutrasnjeg predstavljanja” i onda je posalji nazad posmatracu, dok
ImageDestroy($slicica);
oslobadja interno zauzeto mjesto za memorisanje.
Postoji citav niz mogucnosti za pravljenje slika. Npr. mozemo upisati neki tekst u slicicu koju stvaramo:
$bijela = ImageColorAllocate($slicica, 255,255,255);
imagestring($slicica, 5, 20, 20, “Vozdra”, $bijela);
Uz pomoc prve naredbe definisemo bijelu boju. (Ovdje se jos da primjetiti da smo bijelu boju odredili sa decimalnim vrijednostima – 3 x 255) .
Drugom naredbom postizemo upisivanje teksta ” Vozdra ” velicine 5 koji pocinje na mjestu 20,20 ( 20 px desno i 20 dole).
Obje naredbe treba da stoje direktno ispred naredbe
ImageGif($slicica) .
Vise informacija o pravljenju slicica je sadrzano u PHP-prirucniku (PHP- Handbuch) na njemackom jeziku doduse.
Osim pravougaonika moguce je “crtati” i ostale uobicajene elemente kao sto su krugovi, elipse, poligoni, lukovi itd.
U ovom tutorijalu tema za sad nece biti sire obrazlagana.
Popularity: 7% [?]
Najnoviji Komentari