Rozpoczęcie tworzenia dynamicznych rysunków
PHP przy tworzeniu dynamicznych obrazów obsćuguje dwa formaty
graficzne: jpg i png.
Chcąc tworzyć dynamiczne rysunki, należy przesćać nagćówek graficzny do
przeglądarki przed wszystkimi innymi informacjami (podobnie jak przy cookies,
funkcja setcookie byća wysyłana jako pierwsza). Robimy to za pomocć funkcji
Header określając równocześnie format tworzonej grafiki (jpg lub png).
<ćphp
Header("Content-type: image/jpg");
ć>
Po tej wstępnej informacji tworzymy miejsce zarezerwowane na
obraz oraz zaczep do
niego. Służy do tego funkcja imagecreate(). Posiada ona dwa parametry: wysokość
i szerokość mierzone w pikselach:
<ćphp
Header("Content-type: image/jpg");
$rysunek=imagecreate(200,200);
ć>
Tak utworzone miejsce niczego jeszcze nie przedstawia. Możemy
jednak próbować wysłać je do przeglądarki z prośbą o wyświetlenie. W tym celu
zastosujemy funkcję imageJPEG(); (lub PNG).
<ćphp
Header("Content-type: image/jpg");
$rysunek=imagecreate(200,200);
imageJPEG($rysunek);
ć>
ćwiczenie 13_01 - Określenie wymiarów obszaru
graficznego
-
Przed uruchomieniem skryptu należy
odpowiednio skonfigurować interpreter PHP (patrz dodatek 1)
-
Należy umieścić na swoim koncie WWW pliki
13_01.php i 13_01a.php (do pobrania tutaj 13_01.zip)
-
Należy uruchomić plik 13_01.php (przez http).
-
Należy zwrócić uwagę na sposób wywołania
grafiki.
-
Efektem działania skryptu z tego ćwiczenia
powinno być wyświetlenie obszaru graficznego (bez grafiki).
Wypełnienie kolorem obszaru graficznego
Były to funkcje inicjujące, teraz spróbujmy rysować.
Wywołamy obszar graficzny wypełniony danym kolorem
<ćphp
header("Content-type: image/png");
$rysunek=imagecreate(200,200);
$zielony=imagecolorallocate($rysunek, 0, 255, 0);
$czerwony=imagecolorallocate($rysunek, 255, 0, 0);
imagefill($rysunek, 0, 0, $zielony);
imagepng($rysunek);
ć>
imagecolorallocate - tworzy kolor dla danego rysunku, stąd
wykorzystany zaczep. Kolor jest tworzony w standardzie RGB przy podaniu jego
wartości w układzie dziesiętnym (liczby od 0 do 255).
imagefill - określa wypełnienie danego rysunku (zaczep), od punktu o podanych
współrzędnych wymienionym kolorem.
ćwiczenie 13_02 - Wypełnienie kolorem obszaru
graficznego
-
Należy umieścić na swoim koncie WWW pliki
13_02.php i 13_02a.php (do pobrania tutaj 13_02.zip)
-
Należy uruchomić plik 13_02.php (przez http)
-
Należy zmieniać parametry wykorzystanych
funkcji i zaobserwować zachodzące zmiany w wygenerowanym
rysunku.
Rysowanie elipsy lub jej wycinka
Kolejna funkcja graficzna imagearc($zaczep, $srodek_x, $srodek_y, $szer, $wys, $pocz_kata, $kon_kata,
$kolor); rysuje elipsę, lub jej wycinek.
<ćphp
header("Content-type: image/png");
$rysunek=imagecreate(200,200);
$zielony=imagecolorallocate($rysunek, 0, 255, 0);
$czerwony=imagecolorallocate($rysunek, 255, 0, 0);
imagefill($rysunek, 0, 0, $zielony);
$sx=100;
$sy=100;
$szer=100;
$wys=50;
$pocz_kata=0;
$kon_kata=360;
imagearc($rysunek, $sx, $sy, $szer, $wys, $pocz_kata, $kon_kata, $czerwony);
imagepng($rysunek);
ć>
ćwiczenie 13_03 - Rysowanie elipsy lub jej
wycinka
-
Należy umieścić na swoim koncie WWW pliki
13_03.php i 13_03a.php (do pobrania tutaj 13_03.zip)
-
Należy uruchomić plik 13_03.php (przez http)
-
Należy zmieniać parametry wykorzystanych
funkcji i zaobserwować zachodzące zmiany w wygenerowanym
rysunku.
Zadanie 15 - Rysowanie losowych kół
-
Należy umieścić na swoim koncie WWW plik
zadanie15.php
- Należy zobaczyć działanie skryptu (tutaj
- wymagane połączenie z Internetem). Stronę należy kilka razy
odświeżyć (uwaga - może wystąpić opóźnienie odświeżenia).
- Należy przygotować skrypt, który będzie
generował koła o losowym kolorze wypełnienia oraz losowym
położeniu wspólnego środka.
|