Stř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 imagecolorallocate vrací 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 barva jak pixel na zadaných souřadnicích x, y, tak i všechny okolní pixely stejné 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 [x1,y1], [x2,y2]. • imagerectangle(obr, x1, y1, x2, y2, barva) vykreslí obdélník s vrcholy [x1,y1], [x2,y2], 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]=x1, pole[1]=y1, pole[2]=x2, pole[3]=y2, atd. [x1,y1] jsou souřadnice prvního vrcholu, [x2,y2] 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., Le Scouarnec, Y., Stolz, J., Glass, M. Vytváříme webové aplikace v PHP5, MySQL a Apache. 1. vydání. Brno: Computer Press, a.s., 2006. 813 s. ISBN 80-251-1073-7 Lacko, Luboslav. PHP a MySQL Hotová řešení. 1. vydání . Brno: CP Books a. 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.