Střední škola stavební Jihlava
Sada 1 - PHP 20. Obrázky z obrázků 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
Obrázky z obrázků • Knihovna GD nabízí funkce pro úpravu obrázků. Můžeme tak měnit typ obrázků, obrázky převzorkovat, ořezávat, upravovat barvy, vkládat text do obrázků, slučovat obrázky aj. • Úpravy obrázků vykazují některé jednotné rysy. • Využití se nabízí například při tvorbě fotoakb přístupných přes web.
Převod obrázku do jiného formátu (1) Postup: • 1. Z původního (uloženého) obrázku vytvoříme dočasný zdrojový obrázek. • 2. Vytvoříme nový prázdný obrázek, který bude dočasným cílovým obrázkem • 3. Zkopírujeme zdrojový obrázek do cílového. • 4. Uložíme změněný cílový obrázek. • 5. Vymažeme (nepovinně) dočasný zdrojový i cílový obrázek.
Převod obrázku typu JPG na GIF (1) • 1. Obrázek uložený v souboru *.jpg „otevřeme“ funkcí imagecreatefromjpeg pro úpravy – vytvoříme dočasný zdrojový obrázek. • 2. Dočasný cílový obrázek vytvoříme funkcí imagecreatetruecolor. • 3. Dočasný zdrojový obrázek překopírujeme do dočasného cílového funkcí imagecopyresampled. • 4. Obrázek uložíme do souboru nebo předáme prohlížeči voláním funkce imagegif. Teprve v tomto okamžiku dochází ke konverzi typu. • 5. Dočasné soubory vymažeme z paměti voláním funkce imagedestroy.
Převod obrázku typu JPG na GIF (2) • Spuštění skriptu pro konverzi typu obrázku (cílový obrázek předán prohlížeči) • Spuštění skriptu pro konverzi typu obrázku (cílový obrázek v původní velikosti uložen do souboru) • Spuštění skriptu pro konverzi typu obrázku (cílový obrázek zmenšen na 60 % a předán prohlížeči) • Spuštění skriptu pro konverzi typu obrázku (cílový obrázek zmenšen na 40 % a uložen do souboru) • Zdrojový text skriptu pro konverzi typu obrázku • Zdrojový text skriptu – „prohlížeče“ původního a upraveného obrázku
Převod barev na stupně šedé (1) Využijeme funkce imagefilter(), která „umí“ ještě další – vytvořit negativ, změnit jas nebo kontrast, vytvořit reliéf, rozmazat obrázek, vyhladit obrázek, vybarvit obrázek atd. „Osnova“ skriptu se příliš neliší od skriptu na změnu typu obrázků. Některé webové servery mají s tímto skriptem problém.
Převod barev na stupně šedé (2) • Spuštění skriptu pro převod barev na stupně šedé (cílový obrázek předán prohlížeči) • Spuštění skriptu pro převod barev na stupně šedé (cílový obrázek uložen do souboru) • Zdrojový text skriptu • Zdrojový text skriptu – „prohlížeče“ původního a upraveného obrázku
Vložení textu do obrázku (1) •Text do obrázku vkládá funkce imagestring(). •Nejdříve (pokud je třeba) ho převedeme do znakové sady ISO 8859-2 (Latin 2) užitím funkce iconv() . Text se tak zobrazí „správně česky“.
Vložení textu do obrázku (2) • Spuštění skriptu pro vložení textu do obrázku (cílový obrázek předán prohlížeči) • Spuštění skriptu pro vložení textu do obrázku (cílový obrázek uložen do souboru) • Zdrojový text skriptu • Zdrojový text skriptu – „prohlížeče“ původního a upraveného obrázku
Vodoznaky a slučování obrázků (1) • Skript využívá funkci imagecopymerge(). • Pokusný obrázek sloučíme s logem. Argumenty funkce imagecopymerge: • • • • • • • • •
Název cílového obrázku Název druhého zdrojového obrázku (který slučujeme s cílovým obrázkem, v tomto případě logo). Souřadnice x cílového obrázku Souřadnice y cílového obrázku Souřadnice x druhého zdrojového obrázku Souřadnice y druhého zdrojového obrázku Šířka výřezu druhého zdrojového obrázku Výška výřezu druhého zdrojového obrázku Procentuální vyjádření průhlednosti druhého zdrojového obrázku (hodnota 100 znamená úplnou neprůhlednost)
Vodoznaky a slučování obrázků (2) • Spuštění skriptu pro sloučení obrázku s logem (cílový obrázek předán prohlížeči) • Spuštění skriptu pro sloučení obrázku s logem (cílový obrázek uložen do souboru) • Zdrojový text skriptu • Zdrojový text skriptu – „prohlížeče“ původního a upraveného obrázku Poznámka: Skript provede slučování pouze tehdy, když šířka a výška druhého zdrojového obrázku (loga) není větší než šířka a výška původního obrázku.
Tvorba miniatur (1) • K vytvoření zmenšeného obrázku z obrázku uloženého užijeme funkci imagecopyresampled(). • Skript má strukturu obdobnou, jakou mají skripty užívají funkce knihovny GD.
Tvorba miniatur (2) • Spuštění skriptu pro tvorbu miniatur (cílový obrázek předán prohlížeči) • Spuštění skriptu pro tvorbu miniatur (cílový obrázek uložen do souboru) • Zdrojový text skriptu • Zdrojový text skriptu – „prohlížeče“ původního a upraveného obrázku
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.