Hlavní navigace

Názor k článku Grafický metaformát EMF od LO - Jednodušší tiskárny - tzv. GDI printers - NEPOUŽÍVAJÍ...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 10. 2007 2:40

    LO (neregistrovaný)
    Jednodušší tiskárny - tzv. GDI printers - NEPOUŽÍVAJÍ formát EMF. Jde o tiskárny, které zpravidla umí tisknout jen bitmapy, na což je třeba (například u LED tiskárny, která z hlediska elektroniky v podstatě jen protahuje papír a bliká LED diodami) jen minimum processingu. V driveru má taková tiskárna jako jedinou capability tisk bitmap, a GDI tedy veškeré operace automaticky rastruje do bitmapy. Celkem elegantní postup. Paměť, fonty a procesor už máte v počítači, nač je platit dvakrát?

    K vlastnímu GDI bych řekl, že je veliká škoda, že unixy nic takového nemají. Tedy high-level vrstvu, která aplikaci umožní kreslit na jakémkoliv "povrchu" - do okna, na tiskárnu používající libovolný jazyk, do RDP sessions, na plotter atp. GDI říká driverům, co mají kreslit. Drivery si nastavují capability bits, které říkají, co umí (bitmapu, rectangle, path, bezier curve, rastrování textu, podle konkrétního zařízení). Pokud driver něco neumí, GDI mu věci přeloží (třeba besier curve nebo text vyrastruje do bitmapy, kterou driveru pak pošle). Tenhle skvělý koncept mají Windows dlouhou řadu let, a je základem WYSIWYG ve Windows. V důsledku když se GDI naučí color management, umí ho každá aplikace a každé zařízení.

    Srovnatelnou technologií byl Display Postscript, který ovšem v době vývoje GDI nebyl v použitelné formě (rastrování v nízkých rozlišeních bylo tragické, a u PS to zůstalo problémem až do 90. let), a vyžadoval by vysoké licenční poplatky firmě Adobe (jako každá tehdejší implementace Postscriptu). Pokračovatelem GDI je WPF (Windows Presentation Foundation), část .NET Frameworku 3.0, která staví na pokročilém objektovém API (není problém třeba definovat odraznou plochu, která "sama" odrazí obraz, aplikovat na ní rozvlnění, skriptem na pár řádek měnit parametry toho rozvlnění v reálném čase) a deklarativním jazyku, který skoro-úplně koresponduje s funkcemi API (XPS a XAML, užívané pro popis tiskové stránky, grafiky a UI).