poradnik mojego autorstwa
1. Za?adowanie obrazka
Robimy to jedn? prost? linijk?, jednak jest ona zale?na od formatu obrazka.
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
fromjpeg - tak, w?a?nie o to chodzi. Wpisujemy r?wnie? tutaj format pliku, z jedn? r??nic? oraz ograniczeniami:
fromjpeg - dla .jpg oraz .jpeg (nie zapomnie?!)
fromgif - dla .gif
frompng - dla .png
frombmp - dla .bmp
2. Nag??wek rzecz ?wi?ta!
Aby nasz obrazek ukaza? si? odwiedzaj?cemu stron?, nie mo?emy zapomnie? o nag??wku, bez kt?rego po prostu nie b?dzie dzia?a? (dostaniemy w zamian mas? b??d?w)
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
header('Content-Type: image/jpeg');
imagejpeg($img, null, 100);
Tutaj r?wnie? nie wolno nam zapomnie? o rozszerzeniu obrazka.
3. Zmniejszanie obrazka
Prosta sprawa. Przejd?my bezpo?rednio do skryptu.
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
$width = 200;
$height = 200;
$smallimg = imagecreatetruecolor($width, $height);
imagecopyresized($smallimg, $img, 0, 0, 0, 0, $width, $height, imagesx($img), imagesy($img));
header('Content-Type: image/jpeg');
imagejpeg($img, null, 100);
Jak widzimy, funkcja pomniejszaj?ca wymaga ca?ej masy parametr?w, jednak nie jest ona tak straszna, jak si? wydaje. Wystarczy kilka prostych ?wicze? na obrazkach i ju? dochodzimy do wprawy.
4. Filtry
Filtry pozwalaj? nam na zmian? wygl?du obrazka. G??wnie chodzi o zmian? koloru, wyostrzenie kontur, itd.
IMG_FILTER_BRIGHTNESS z jednym parametrem - rozja?nienie obrazka
IMG_FILTER_COLORIZE z trzema parametrami - zmiana kolor?w obrazka
IMG_FILTER_CONTRAST z jednym parametrem - zmiana kontrastu obrazka
IMG_FILTER_EDGEDETECT - bardzo ciekawy efekt, kt?rego nie potrafi? za bardzo opisa?. Wyostrza on kontury (staj? si? ciemne), natomiast reszta obrazka pogr??a si? w szaro?ci
IMG_FILTER_EMBOSS - to co wy?ej, jednak kraw?dzie sprawiaj? widok tr?jwymiarowych
IMG_FILTER_GAUSSIAN_BLUR - proste rozmycie gaussowskie
IMG_FILTER_MEAN_REMOVAL - to r?wnie? ci??ko jest wyt?umaczy?... powoduje, ?e obrazek wydaje si?, jakby by? bardzo zniszczony, a p??niej zeskanowany
IMG_FILTER_NEGATE - odwr?cenie kolor?w
IMG_FILTER_SELECTIVE_BLUR - zn?w rozmycie, naprawd? nie wiem czym si? r??ni
IMG_FILTER_GRAYSCALE - zmiana obrazka na czarno-bia?y
Lecz jak ich u?y??
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
imagefilter($img, IMG_FILTER_COLORIZE, 20, -10, 40);
Poda?em tutaj przyk?ad dla filtru z trzema parametrami. Je?eli wybierzemy jaki?, kt?ry ich nie ma - po prostu kasujemy te liczby.
5. Obracanie obrazka
Aby u?y? tej funkcji musimy najpierw ustali? kolor t?a (kt?re pozostanie w miejscu niegdy? zajmowanym przez obrazek)
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
$color = imagecolorallocate($img, 0, 0, 0);
$img = imagerotate($img, 45, $color);
header('Content-Type: image/jpeg');
imagejpeg($img, null, 100);
Wymagane jest wprowadzenie kolor?w w RGB. W tym wypadku kolor t?a b?dzie czarny, a obrazek obr?cony o 45 stopni (zgodnie ze wskaz?wkami zegara).
6. Tekst
Oto ju? ostatni punkt tutoriala, dotycz?cy wprowadzania tekstu na obrazek. Jest to r?wnie prosta sprawa, jak z obracaniem obrazka, jednak tutaj trzeba jeszcze poda? gdzie ma si? rozpocz?? wypisywanie tekstu.
PHP:
$img = imagecreatefromjpeg("obrazek.jpg");
$color = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, 20, 20, 80, 40, $color, "czcionka.ttf", "TUTORIAL");
header('Content-Type: image/jpeg');
imagejpeg($img, null, 100);
Drugi, trzeci, czwarty oraz pi?ty parametr odpowiadaj? za lokalizacj? tekstu. Najlepiej jest samemu z tym poeksperymentowa?. Wa?ne jest jednak, ?e w php mo?emy u?y? w?asnej czcionki, wa?ne, ?eby r?wnie? znajdowa?a si? na serwerze.