﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="/cjs/examples.screen.xsl" media="screen"?>
<examples chapter="Grafický formát PNM" directory="pnm">

<!--
    <example>
        <text>
        </text>
        <hint>
        </hint>
        <solution src="pnm/.py" lang="python" />
    </example>
-->


    <!--note>
        K těmto úlohám zde úmyslně nebude řešení. Všechny navazují na běžné procvičovací příklady, ale jsou nějakým způsobem pracnější nebo ne úplně standardní. Navíc je ke každé z nich (alespoň přibližně) znám výstup, takže si výsledek své práce můžete snadno zkontrolovat.
    </note-->
    <note>
        Příklady 1 a 2 pro vás vymyslel Jakub Kratěna.
    </note>


    <example>
        <text>
            Zkuste si pohrát se vzory na šachovnici – vytvořte následující: <img src="_files/pattern1.png" width="41" height="41" alt="vzor 'město'" align="center" /> Jako výstupní formát stačí pochopitelně P1.
        </text>
    </example>

    <example>
        <text>
            Zkuste si pohrát se vzory na šachovnici – vytvořte následující: <img src="_files/pattern2.png" width="41" height="41" alt="vzor 'město'" align="center" /> Jako výstupní formát stačí pochopitelně P1.
        </text>
    </example>

    <example>
        <text>
            Připravte si podklady pro grafiku písmen (jako písmeno J z přednášky) a poté ze zadaného textu generujte černobílé obrázky ve formátech PNM P1 (tedy černobílý ascii) a P4 (tedy černobílý binární).
        </text>
        <hint>
            Kromě zvládnutí formátů P1 a P4 úloha především vyžaduje nějak si vymyslet a uložit font pro text plus vyřešit zápis písmen do řádky (sloupec je triviální). Například pro vstup <code>python pismenka.py "ABCDEFGHIJKLMNOPQRSTUVWXYZ .,-!?"</code> byste měli obdržet něco jako <img src="_files/pismenka.png" width="256" height="8" alt="ukázkový výstup písmenek" />.
        </hint>
    </example>

    <example>
        <text>
            Vytvořte programem vhodně velký obrázek „duhy“ ve formátu PPM (varianta P6). Úkolem je tedy nagenerovat obdélník, kde postupně každý následující sloupeček (nebo řádek) bude postupně jinak barevný než předchozí.
            <br/>
            &#160;&#160;&#160;
            Příklad: <img src="_files/duha.png" width="128" height="26" alt="ukázkový výstup duhy" align="center" /> 
        </text>
        <hint>
            Možných řešení je samozřejmě hromada, kupříkladu originál ukázkového obrázku byl vygenerován prostým přechodem od červené (R) přes žlutou do zelené (G) a následně přes světle modrou do modré (B) a nakonec z ní ještě do fialové. Další dobrá volba je třeba nagenerovat obrázek jako HLS a provést konverzi do RGB.
        </hint>
    </example>

    <example>
        <text>
            Upravte předchozí řešení duhy tak, aby každý barevný sloupeček (či řádek, máte-li duhu otočenou) mizel do ztracena (tedy černa).
            <br/>
            &#160;&#160;&#160;
            Možný (a ne nutně správný) výstup: <img src="_files/duha_doztracena.png" width="128" height="26" alt="ukázkový výstup duhy doztracena" align="center" />
        </text>
    </example>

    <example>
        <text>
            Když už umíte duhu, vykreslete ji nějakým způsobem do šachovnice, tedy čtverce s barvami rozdělenými postupně po řádcích. Může to dopadnout třeba takto: <img src="_files/duha_v_sachovnici.png" width="36" height="36" alt="ukázkový výstup duhy doztracena" align="center" />
        </text>
        <hint>
            V úloze jde asi především o to, jak velká ta šachovnice bude. (Já jsem trošku podváděl, aby mi vyšel čtverec – posledních 21 fialových pixelů má stejnou barvu.)
        </hint>
    </example>

    <example>
        <text>
            Je na čase se odvázat – zobrazte duhu nikoli lineárně jako dosud, ale pěkně dokolečka v kruhu ^_^ Třeba takto: <img src="_files/duha_kruhem.png" width="64" height="64" alt="ukázkový výstup duhy do kruhu" align="center" />
        </text>
        <hint>
            Tahle úloha už spíš než o barvičkách je o geometrii: Jak známou sekvenci barev zobrazit ve zcela jiném plošném útvaru?
        </hint>
    </example>


</examples>
