Hlavní navigace

Seriál Grafické formáty

PostScript a rastrové obrázky II

V dnešní části seriálu o grafických formátech a metaformátech dokončíme popis PostScriptu. Budeme se věnovat pokročilejší práci s rastrovými obrázky - ukážeme si jejich zrcadlení, otáčení, změnu velikosti a mimo jiné také ořezání libovolné části rastrového obrázku pomocí nadefinované cesty.

Doba čtení: 12 minut

Rastrová grafika v PostScriptu

PostScript patří mezi takzvané grafické metaformáty, což znamená, že je v něm možné ukládat jak vektorovou, tak i rastrovou grafiku. V předchozích článcích jsme se zaměřili především na popis způsobů práce s vektorovou grafikou, dnes se podíváme na vkládaní bitmapových obrázků do PostScriptových dokumentů.

Doba čtení: 13 minut

Slovníky a zásobníky v PostScriptu

V předchozích článcích o jazyce PostScript jsme si řekli, že se při zápisu programů neobejdeme bez použití zásobníku. Ve skutečnosti se v PostScriptu pracuje celkem s pěti zásobníky, jejichž význam si vysvětlíme. Také si povíme, jak pracovat se slovníky, které jsou v jiných jazycích známé pod názvem asociativní pole či hashmapy.

Doba čtení: 10 minut

Programujeme podmínky a smyčky v PostScriptu

V dnešní části seriálu o grafických formátech a metaformátech si řekneme, jakým způsobem je možné do programů vytvářených v PostScriptu vkládat podmínky a smyčky, které zajišťují opakovaný běh určité části programu. Uvidíme, že možnost tvorby programových smyček může vést k radikálnímu snížení velikosti celého souboru a také k tvorbě obrázků a diagramů, které by se ručně (či pomocí vektorového grafického editoru) vytvářely složitým a zdlouhavým způsobem.

Doba čtení: 11 minut

Definice nových příkazů v PostScriptu

Minule jsme si uvedli základní informace o tom, jakým způsobem je možné v PostScriptu zapisovat jednoduché programy. Dnes si ukážeme způsob definice nových příkazů pomocí operátoru "def", který je použit jak pro vytváření nových procedur/funkcí, tak i pro zkrácení délky výsledného souboru.

Doba čtení: 12 minut

Programujeme v PostScriptu

PostScript se od všech dříve popisovaných formátů liší především v tom, že je v něm možné psát jednoduché i poměrně složité a rozsáhlé programy (například každé písmeno je v PostScriptovém fontu popsáno jednou procedurou). V dnešním článku si proto zevrubně programovací jazyk PostScriptu popíšeme.

Doba čtení: 11 minut

PostScript: vyplňované cesty, transformace a natočený text

Tentokrát bude popsán význam souřadnicových systémů v PostScriptu, včetně transformační matice, ukážeme si, jak je možné pomocí změny matice tisknout písmo či jiné objekty, a to v různém směru či zvětšení. Také si předvedeme způsob vyplňování cest, včetně změny způsobu výplně.

Doba čtení: 11 minut

Styly cest, fonty a řetězce v PostScriptu

Dnes si ukážeme, jakým způsobem je možné měnit styly vykreslovaných cest, tj. tloušťku a barvu čar i způsob napojení sousedních čar na sebe, včetně různých stylů ukončení cest. Také si přiblížíme problematiku PostScriptových fontů a vykreslování písma.

Doba čtení: 11 minut

Vytváříme křivky v PostScriptu

V dnešní části seriálu o grafických formátech a metaformátech si řekneme, jak je možné vykreslovat v PostScriptu křivky. Vysvětlíme si význam Bézierových kvadratických a kubických křivek, které jsou použity mimo jiné i v definicích znaků PostScriptových a TrueType fontů.

Doba čtení: 11 minut

Kreslíme v PostScriptu

V předchozím článku jsme si uvedli základní informace o grafickém metaformátu PostScript. Dnes si ukážeme, jak je možné v PostScriptu vykreslovat jednoduché vektorové obrázky. Uvidíme, že se i přes rozsáhlost jazyka nejedná o nic složitého. Výsledné soubory je možné si prohlédnout přímo na obrazovce počítače či vytisknout.

Doba čtení: 10 minut

Grafický metaformát PostScript

Dnes začneme s popisem známého a velmi úspěšného metaformátu nazvaného PostScript. Ten ve své podstatě není pouhý vektorový a bitmapový formát, ale plnohodnotný programovací jazyk, což nebývalým způsobem rozšiřuje jeho schopnosti nad rámec běžných souborových formátů.

Doba čtení: 11 minut

Vektorový grafický formát SLD (Slide)

V dnešním článku bude popsán další vektorový souborový formát používaný především v programech typu CAD. Jedná se o velmi jednoduchý a přitom snadno zpracovatelný formát nazvaný SLD (Slide), který - podobně jako dříve popsané formáty DXF a DXB - navrhla firma AutoDesk pro svůj světoznámý produkt AutoCAD.

Doba čtení: 10 minut

Vektorový grafický formát DXB a binární varianta DXF

Dnes si popíšeme binární variantu již popsaného vektorového formátu DXF. Zjednodušená binární varianta DXF se označuje zkratkou DXB, neboli Drawing Binary Interchange File Format, její modernější verze pak jako Binary DXF. Tento souborový formát je používán zejména z důvodu rychlejšího načítání a menšího objemu výsledného souboru.

Doba čtení: 10 minut

Zobrazení 3D modelů v DXF pomocí OpenGL

Dnes se budeme věnovat populárním a často používaným grafickým formátům a dokončíme popis známého vektorového formátu DXF. Na praktickém příkladě si ukážeme způsob načtení a interaktivního zobrazení trojrozměrných modelů uložených v tomto formátu.

Doba čtení: 10 minut

Načítání a zobrazení souborů ve formátu DXF

V dnešním článku si na praktickém příkladu ukážeme, jak je možné načítat a zobrazovat 2D výkresy (resp. jejich části), které jsou uloženy ve vektorovém formátu DXF. Výsledkem naší snahy bude jednoduchý prohlížeč DXF souborů využívající pro vykreslování všech grafických entit multiplatformní knihovnu OpenGL.

Doba čtení: 12 minut

Informace uložené v souborech typu DXF

V dnešním článku o grafických formátech si podrobněji vysvětlíme způsob rozdělení souborů typu DXF do jednotlivých sekcí. Také si řekneme, které grafické entity je možné použít v dvourozměrných výkresech i prostorových (trojrozměrných) modelech uložených do tohoto vektorového souborového formátu.

Doba čtení: 11 minut

Vektorový grafický formát DXF

V dnešním článku se budeme zabývat vektorovým formátem nazvaným DXF neboli Drawing Interchange File Format. Tento formát, který byl navržený firmou AutoDesk, je používán zejména při přenášení grafických informací mezi různými systémy typu CAD, vektorovými editory, modelovacími programy a podobně.

Doba čtení: 10 minut

Prohlížení vektorových výkresů ve formátu HPGL/PLT

V dnešním pokračování seriálu, ve kterém si popisujeme oblíbené a často používané grafické formáty, si na příkladu ukážeme, jak je možné programově zpracovat soubory typu HPGL/PLT, ve kterých bývají uloženy vektorové výkresy. Vytvoříme jednoduchý prohlížeč tohoto formátu využívající pro zobrazení grafickou knihovnu OpenGL.

Doba čtení: 10 minut

Vektorový grafický formát HPGL

V dnešním článku se budeme zabývat vektorovým formátem nazvaným HPGL, neboli Hewlett-Packard Graphics Language. Tento formát byl v minulosti určen především pro ovládání perových plotterů, dnes se však stal velmi jednoduchým formátem, který je možné použít při předávání dat mezi různými graficky orientovanými aplikacemi.

Doba čtení: 11 minut

Vektorové grafické formáty a metaformáty

V předchozích článcích jsme si popsali nejpopulárnější rastrové formáty, včetně "internetových" formátů GIF, PNG a JPEG/JFIF. Dnešní díl bude pojednávat o další velké skupině grafických formátů, které se nazývají vektorové formáty. Jedná se o soubory, ve kterých je grafická informace popsána pomocí geometrických objektů.

Doba čtení: 10 minut

Rastrové grafické formáty Wireless Bitmap a IMG

V dnešním článku dokončíme část věnovanou rastrovým, tj. bitmapovým či pixmapovým grafickým formátům. Popíšeme si strukturu jednoduchých rastrových souborů typu WBMP (Wireless Bitmap), který je používán především na mobilních zařízeních, a také formátu IMG (Image) firmy Alias Research.

Doba čtení: 13 minut

Rastrový grafický formát ICO

V dnešním článku si ukážeme interní strukturu obrazového formátu ICO, ve kterém jsou ukládány ikony primárně používané především v operačních systémech Microsoft Windows. V posledních několika letech se však tento formát rozšířil i na webu ve formě ikon umístěných u bookmarků a titulkových lišt oken (takzvané favicon).

Doba čtení: 10 minut

Programujeme JPEG: Progresivní JPEG a informace EXIF

Dnes dokončíme část věnovanou známému grafickému formátu JFIF/JPEG. Řekneme si základní informace o progresivním režimu kódování a dekódování obrázku typu JPEG a také o tom, jakým způsobem mohou být do formátu JFIF/JPEG zahrnuty informace uložené podle EXIF. Řeč bude i o kompromitujících informacích, které se mohou v EXIF objevit.

Doba čtení: 12 minut

Programujeme JPEG: Načtení informací ze souborů typu JFIF/JPEG

V dnešním článku si ukážeme, jakým způsobem je možné vyčíst základní informace ze souborů typu JFIF/JPEG. Způsob načítání informací bude ukázán na dvou demonstračních aplikacích napsaných v programovacím jazyku C. První aplikace slouží k výpisu všech značek, druhá aplikace již dokáže načíst a vypsat údaje z hlavičky obrázku a tabulek.

Doba čtení: 14 minut

Programujeme JPEG: Interní struktura souborů typu JFIF/JPEG

V dnešním článku si ukážeme, jak vypadá vnitřní struktura souborů typu JFIF (JPEG Format Interchange File), které se většinou označují pouze jako soubory typu JPEG. Řekneme si, jakým způsobem je strukturovaná hlavička souborů JFIF/JPEG a jaké nejdůležitější značky (markers) se mohou v souborech tohoto typu vyskytovat.

Doba čtení: 14 minut

Programujeme JPEG: Huffmanovo kódování kvantovaných DCT složek

V dnešní části seriálu, ve kterém se věnujeme popisu populárních souborových formátů, si ukážeme, jakým způsobem jsou v souborech typu JFIF/JPEG zakódovány kvantované DCT složky. Zaměříme se především na Huffmanovo kódování, protože druhý typ kódování (aritmetické) není ve většině aplikací ani obrázků JPEG použit.

Doba čtení: 12 minut

Programujeme JPEG: Kvantizace DCT koeficientů

Dnešní část seriálu pojednává o tom, jakým způsobem se zpracovávají číselné koeficienty po jejich diskrétní kosinové transformaci (DCT) z časové/prostorové oblasti do oblasti frekvenční. Jedná se o funkční blok, ve kterém se provádí takzvaná kvantizace DCT koeficientů a jejich následná linearizace do proudu bytů.

Doba čtení: 9 minut

Programujeme JPEG: diskrétní kosinová transformace (DCT)

V dnešním článku ze série věnované popisu známých a v praxi často používaných grafických formátů si prakticky ukážeme způsob výpočtu diskrétní kosinové transformace (DCT), který se provádí při komprimaci obrazových dat podle specifikace JPEG, ale i mnoha dalších formátů, včetně MPEG 1-4.

Doba čtení: 10 minut

Programujeme JPEG: transformace a podvzorkování barev

V dnešním článku si ukážeme, jakým způsobem je možné prakticky provést transformaci barev z barvového prostoru RGB do YCbCr, který je interně používán při komprimaci pomocí standardu JPEG. Také si podrobněji popíšeme způsob podvzorkování barvonosných složek v barvovém prostoru YCbCr a vliv tohoto podvzorkování na vizuální kvalitu výsledného obrázku.

Doba čtení: 11 minut

Ztrátová komprese obrazových dat pomocí JPEG

V dnešním článku se budeme zabývat vysvětlením posloupnosti operací, které jsou prováděny s obrazovými daty při ztrátové kompresi JPEG. Jedná se o funkční bloky provádějící transformaci barev, podvzorkování barvonosných složek, diskrétní kosinovou transformaci, kvantování DCT koeficientů a konečně zakódování kvantovaných koeficientů.

Doba čtení: 12 minut