S třední škola stavební Jihlava Sada 1 - Název bloku (sady DUMů) 18. Základy grafiky v PHP Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a zkvalitnění výuky prostřednictvím ICT Jan Pospíchal 2012 Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky
Základy grafiky Podmínkou generování obrázků prostřednictvím PHP skriptů je instalace GD knihovny na serveru. Přítomnost knihovny GD můžeme zjistit funkcí phpinfo(). Test instalace GD Důkaz instalace GD
Funkce pro tvorbu obrázků (1) Nejdříve je třeba určit typ obsahu jednou z laviček HTTP: header( Content type: image/gif ); header( Content type: image/jpeg ); header( Content type: image/png );
Funkce pro tvorbu obrázků (2) Vytvoření prázdného obrázku funkcí imagecreate Funkce má dva parametry šířku a výšku obrázku Vrací identifikátor vytvořeného obrázku Identifikátor užijeme v dalších funkcích
Funkce pro tvorbu obrázků (3) Funkce imagecolorallocatevrací identifikátor barevného schématu (barvy) Má čtyři parametry identifikátor obrázku a tři složky RGB (červenou, zelenou, modrou) Složky jsou celá čísla od 0 do 255. Uvedenou funkci musíme použít pro každou barvu, kterou chceme v obrázku použít První definovaná barva je barvou pozadí. Barvu pozadí učiníme průhlednou (transparentní) užitím funkce imagecolortransparent. Ta má dva parametry, identifikátor obrázku a identifikátor barvy pozadí.
Funkce pro tvorbu obrázků (4) Funkce imagesetpixel(obr, x, y, barva) obarví pixel obrázku obr na souřadnicích x,y barvou barva. Funkce imagefill(obr, x, y, barva) obarví barvou barvajak pixel na zadaných souřadnicích x, y, tak i všechny okolní pixelystejné barvy. Je možné ji použít k vyplnění ohraničených oblastí nebo geometrických tvarů. Můžeme využít funkcí pro kreslení různých tvarů. Do obrázku můžeme vložit text. Zobrazení obrázku v prohlížeči vyvoláme některou z funkcí imagegif, imagejpg, imagepng.
Souřadnice v obrázku
Tvary úsečka, obdélník imageline(obrazek, x1, y1, x2, y2, barva)vykreslí úsečku s krajními body [x 1,y 1 ],[x 2,y 2 ]. imagerectangle(obr, x1, y1, x2, y2, barva) vykreslí obdélník s vrcholy [x 1,y 1 ],[x 2,y 2 ], které leží na úhlopříčce. imagefilledrectangle(obr, x1, y1, x2, y2, barva) vykreslí obdélník vyplněný zadanou barvou. Význam parametrů je stejný jako u předcházející funkce. Všechny parametry jsou celočíselné.
Tvary n-úhelník (polygon) imagepolygon(obr, pole, počet_vrcholu, barva) vykreslí mnohoúhelník. Druhý parametr je typu pole. Udává souřadnice vrcholů: pole[0]=x 1, pole[1]=y 1, pole[2]=x 2, pole[3]=y 2, atd. [x 1,y 1 ] jsou souřadnice prvního vrcholu, [x 2,y 2 ] souřadnice druhého vrcholu atd. imagefilledpolygon(obr, pole, počet_vrcholu, barva) vykreslí vyplněný polygon. Význam parametrů je stejný jako u předcházející funkce.
Tvary -elipsa imageellipse(obr,stred_x, stred_y, sirka,vyska, barva). [stred_x, stred_y] je středem elipsy. imagefilledellipse(obr, stred_x, stred_y, sirka, vyska, barva) zobrazí vyplněnou elipsu. Kružnice je elipsa, jejíž šířka je stejně veliká jako výška.
Tvary eliptický oblouk imagearc(obr,stred_x, stred_y, sirka,vyska, uhel_poc, uhel_konec, barva) Všechny parametry jsou celočíselné. Úhly počátečního a koncového bodu zadáváme ve stupních, měříme od kladné poloosy x a roste při záporném smyslu otáčení (ve směru otáčení hodinových ručiček). imagefilledarc(obr,stred_x, stred_y, sirka,vyska, uhel_poc, uhel_konec, barva, styl). Hodnoty parametru styl: IMG_ARC_PIE, IMG_ARC_CHORD, IMG_ARC_NOFILL.
Použitá literatura Mach, Jakub. PHP pro úplné začátečníky. 2. přepracované a rozšířené vydání. 1. vydání. Brno: CP Books a. s., 2005. 168 s. ISBN 80-7226-834-1 Naramore, E., Gerner, J., LeScouarnec, Y., Stolz, J., Glass, M. Vytváříme webové aplikace v PHP5, MySQLa Apache. 1. vydání. Brno: ComputerPress, a.s., 2006. 813 s. ISBN 80-251-1073-7 Lacko, Luboslav. PHP a MySQLHotová řešení. 1. vydání. Brno: CP Booksa. s., 2005. 300 s. ISBN 80-251-0397-8 Materiál je určen k bezplatnému používání pro potřeby výuky a vzdělávání na všech typech škol a školských zařízení. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je : Jan Pospíchal Pokud není uvedeno jinak, byly při tvorbě použity volně přístupné internetové zdroje. Autor souhlasí se sdílením vytvořených materiálů a jejich umístěním na www.ssstavji.cz.