background image

Grafika w PHP

WYMAGA biblioteki GD zintegrowanej i włączonej 

w PHP. 

Blioteka GD jest dodawana do każdej wersji PHP. 

background image

Grafika w PHP

GD obsługuje formaty PNG i JPEG. 

imagePNG() 

– utworzenie grafiki w formacie png z istniejącego zasobu (z 

możliwością zapisu na dysku)

imageJPEG() - utworzenie grafiki w formacie jpg z istniejącego zasobu (z 
możliwością zapisu na dysku)

imagecreatefromPNG() – tworzy uchwyt obrazu z pliku

imagecreatefromJPEG() - tworzy uchwyt obrazu z pliku

Najpierw przesyłamy do przeglądarki informację o typie przesyłanego zbioru 
danych – tu grafikiki.

Header("Content-type: image/png");

lub

Header("Content-type: image/jpeg");

background image

Grafika w PHP

Tworzenie nowej grafiki:

imagecreate()

$obraz = imagecreate(400,500);

Zmienna obraz zawiera uchwyt do grafiki o 
wymiarach 400x500

background image

Grafika w PHP

wysłanie do przeglądarki stworzonego obrazu:

imagePNG($obraz);
imageJPEG($obraz);

zapisanie na dysku stworzonego obrazu:

imagePNG($obraz,„plik.png");
imageJPEG($obraz,„plik.jpg");

background image

Grafika w PHP

UWAGA!!!

imagedestroy($uchwyt_obrazu) 

usunięcie zasobów grafiki z pamięci serwera

background image

int imagecolorallocate(int $uchwyt, $red, $green, $blue) 

Zwraca uchwyt barwy o podanej zawartości kolorów RGB.

$bialy = imagecolorallocate($uchwyt, 255, 255, 255);

Grafika w PHP

background image

Grafika w PHP

imagearc(int $uchwyt, $sx, $sy, $szer, $wys, $pocz_kata, $kon_kata, $kolor) 

Wycinek elipsy o środku $sx,$sy o szerokości $szer i wysokości $wys, między 

kątem $pocz_kata a $kon_kata w kolorze równym $kolor.

imagearc($uchwyt, 250, 250, 400, 250, 0, 180, $kolor) ;

background image

imagechar(int $uchwyt, $czcionka, $x, $y, string $znak, int $kolor) 

Rysuje znak od punktu $x $y, w danym kolorze. Czcionka od 1 do 5.

imagechar($uchwyt, 5, 0, 0, 'TEKST', $bialy); 

Grafika w PHP

background image

Grafika w PHP

imagecopyresized(int $uchwyt_docelowy, $uchwyt_zrodlowy, $docel_x, 
$docel_y, $zrodl_x, $zrodl_y, $docel_szer, $docel_wys, $zrodl_szer, 
$zrodl_wys)

Kopiuje wycinek z obrazu źródłowego o punkcie początkowym $zrodl_x $zrodl_y, 
szerokości $zrodl_szer i wysokości $zrodl_wys. I wkleja do obrazu docelowego zaczynając 
od punktu $docel_x $docel_y, zmieniając szerokość wycinka do $docel_szer i wysokość do 
$docel_wys.

background image

Grafika w PHP

imagedashedline(int $uchwyt, $x1, $y1, $x2, $y2, $kolor)

Rysuje przerywaną linię z punktu $x1 $y1 do punktu 

$x2 $y2 w podanym kolorze

.

background image

Grafika w PHP

imagefill(int $uchwyt, $x, $y, $kolor)

Wypełnia obrazek kolorem z punktu $x $y do 
pierwszej napotkanej linii tego samego koloru

.

background image

Grafika w PHP

imagefilledpolygon(int $uchwyt, array $tablica_punktow, int $ilosc_punktow, 
$kolor)

Rysuje wypełniony kolorem wielokąt. Współrzędne wszystkich punktów są zawarte w tablicy 
punktów, w której indeksy parzyste to współrzędne x, a nieparzyste to współrzędne y 
wierzchołków wielokąta.

background image

Grafika w PHP

imagepolygon(int $uchwyt, array $punkty, int $ile_punktow, $kolor)

Rysuje wielokąt, którego współrzędne wierzchołków są zapisane w 
formie tablicy, gdzie indeksy parzyste to współrzędne x, a indeksy 
nieparzyste to współrzędne y, a ilość wierzchołków jest zapisana 
jako $ile_punktow.

background image

Grafika w PHP

imagefilledrectangle(int $uchwyt, $x1, $y1, $x2, $y2, $kolor)

Rysuje wypełniony kolorem prostokąt, którego 
lewy-górny wierzchołek ma współrzędne $x1 $y1, 
a prawy-dolny $x2 $y2.

background image

Grafika w PHP

imageline(int $uchwyt, $x1, $y1, $x2, $y2, $kolor)

Rysuje prostą z punktu $x1 $y1 do punktu $x2 $y2 w 
podanym kolorze.

background image

Grafika w PHP

imagerectangle(int $uchwyt, $x1, $y1, $x2, $y2, $kolor)

Rysuje prostokąt, którego lewy-górny wierzchołek ma współrzędne $x1 $y1, a prawy-
dolny $x2 $y2. Zmienna $kolor przechowuje kolor krawędzi tego prostokąta.

imagesetpixel(int $uchwyt, $x, $y, $kolor)

Rysuje pojedynczy piksel o współrzędnych $x $y w podanym kolorze.

imagestring(int $uchwyt, $czcionka, $x, $y, string $lancuch, int $kolor)

Rysuje łańcuch znaków w podanej czcionce i kolorze, zaczynając od punktu $x $y.

imagestringup(int $uchwyt, $czcionka, $x, $y, string $lancuch, int $kolor)

Rysuje w pionie łańcuch znaków w podanej czcionce i o podanym kolorze, zaczynając od 
punktu $x $y.

int imagesx(int $uchwyt)

Zwraca szerokość obrazka

int imagesy(int $uchwyt)

Zwraca wysokość obrazka

background image

Grafika w PHP

int imagecolorat(int $uchwyt, $x, $y)

Zwraca indeks koloru piksela o współrzędnych $,$y.

int imagecolorclosest(int $uchwyt, $red, $green, $blue)

Zwraca indeks „najbliższego” koloru.

int imagecolorexact(int $uchwyt, $red, $green, $blue)

Zwraca indeks koloru.

int imagecolorresolve(int $uchwyt, $red, $green, $blue)

Zwraca indeks koloru, jeżeli nie ma takowego w palecie obrazka 
zwraca najbliższy mu.