Sdílet prostřednictvím


Co je nového ve WIC

Windows Imaging Component (WIC) byla aktualizována o nové verze Windows. Toto téma obsahuje stručný úvod k těmto novým funkcím.

Novinky pro Windows 10 verze 1507

Přístup k datům JPEG nízké úrovně pro dekódování a kódování WIC

Od Windows 10 verze 1507 poskytuje WIC přístup k datovým strukturám JPEG nízké úrovně, včetně tabulek Huffman a kvantizace. Další informace najdete v následujících tématech:

Indexování JPEG

Indexování JPEG je technika, která výrazně zlepšuje výkon náhodného přístupu k malým dílčím oblastem velkého obrázku JPEG za cenu dodatečného využití paměti. Indexování JPEG může využít jakýkoli uživatel WIC.

Rozhraní ID2D1ImageSourceFromWic je navržené tak, aby využívalo indexování JPEG, pokud je zapnuté. Například rozhraní API ID2D1ImageSource bude vyžadovat pouze potřebné části obrázku ve scénáři, jako je posun a přiblížení obrázku s velkým rozlišením. Další informace najdete v následujících tématech:

Co je nového pro Windows 8.1

Podpora obrázků JPEG YCbCr

Od Windows 8.1 poskytuje WIC podporu dekódování, transformace a kódování dat obrázků JPEG Y'CbCr v nativním formátu. To umožňuje aplikacím výrazně zkrátit dobu zpracování a spotřebu paměti pro určité operace vytváření obrázků při práci s jpegy kódovanými Y'CbCr. Další informace najdete v následujících tématech:

Podpora blokových komprimovaných formátů (soubory DDS)

Počínaje Windows 8.1 přidává WIC nový kodek, který podporuje obrázky DDS kódované v následujících formátech: DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC2_UNORM a DXGI_FORMAT_BC3_UNORM. K komprimovaným datům DDS je možné přistupovat v dekódované podobě pomocí standardních rozhraní WIC nebo přímo přistupovat pomocí nových rozhraní specifických pro DDS. Další informace najdete v následujících tématech:

Co je nového pro Windows 8

Ve Windows 8 byla WIC aktualizována o několik nových funkcí. Aktualizovaná verze WIC je dostupná také v systémech Windows 7 a Windows Server 2008 R2 prostřednictvím Platform Update pro Windows 7, která je dostupná prostřednictvím Platform Update pro Windows 7.

Vylepšená integrace Direct2D

WIC ve Windows 8 poskytuje tato rozhraní API ke zlepšení integrace Direct2D s WIC:

Změny podpory kodeku BMP alpha

WIC ve Windows 8 podporuje načítání BITMAPV5HEADER souborů obrázků jako WICPixelFormat32bppBGRA-formátovaných obrázků. Kodér BMP navíc podporuje novou Boolean možnost kodéru "EnableV5Header32bppBGRA", která instruuje kodér k zápisu BITMAPV5HEADER s obrazovými daty 32bppBGRA.

Další informace o formátech BMP naleznete v tématu přehled formátu BMP.

Nové formáty pixelů

WIC ve Windows 8 definuje tyto nové formáty pixelů:

  • GUID_WICPixelFormat32bppRGB
  • GUID_WICPixelFormat64bppRGB
  • GUID_WICPixelFormat96bppRGBFloat
  • GUID_WICPixelFormat64bppPRGBAHalf

Poznámka

Integrovaný kodek TIFF vrátí data ve formátu GUID_WICPixelFormat96bppRGBFloat. Ostatní tři formáty nejsou používány integrovanými kodeky.

 

Omezení rozšiřitelnosti komponent v AppContaineru

Při spuštění v procesu AppContainer, který zahrnuje všechny aplikace pro Windows Store, bude WIC používat pouze součásti poskytované systémem Windows bez ohledu na to, jestli jsou v systému nainstalovány další součásti. Aplikace, které nejsou spuštěné v AppContaineru, nejsou ovlivněny.

Aplikace nemusí provádět žádné změny kódu pro spuštění v AppContaineru, ale WICComponentEnumerateOptions příznaku a parametry GUID dodavatele nebudou mít žádný vliv. Technologie WIC nenačte image, pokud ji nelze dekódovat pomocí kodeku poskytnutého systémem Windows a volání metody CreateComponentEnumerator vrátí pouze poskytnuté součásti systému Windows.

Změny podpory barevného kontextu dekodéru CLSID_WICPngDecoder a PNG

CLSID_WICPngDecoder1 byla přidána se stejným identifikátorem GUID jako CLSID_WICPngDecodera CLSID_WICPngDecoder2 byla přidána.

Při kompilaci se sadou Windows 8 SDK je CLSID_WICPngDecoder #defined na CLSID_WICPngDecoder2, aby podporoval nově kompilované aplikace využívající nové chování dekodéru PNG. Aplikace by měly dál zadávat CLSID_WICPngDecoder.

Zadáním CLSID_WICPngDecoder2 se vytvoří verze dekodéru WIC PNG, která vygeneruje IWICColorContext z bloků cHRM a gAMA. To umožňuje, aby se tato metadata barevného prostoru používala s dalšími rozhraními API systému Windows pro správu zdrojové image. IWICColorContext se negeneruje z bloků dat gAMA a cHRM, pokud je k dispozici blok iCCP, pokud je k dispozici blok dat sRGB, nebo pokud bloky gAMA a cHRM označují barevný prostor sRGB.

Aplikace může zadat CLSID_WICPngDecoder1 k vytvoření verze dekodéru WIC PNG, která negeneruje IWICColorContext z bloků gAMA a cHRM. To odpovídá chování dekodéru PNG v předchozích verzích Windows.

Změny v WINCODEC_SDK_VERSION

Při kompilaci s Windows 8 SDK je WINCODEC_SDK_VERSION #defined na WINCODEC_SDK_VERSION2, aby se podpořilo využívání nového chování dekodéru PNG v nově kompilovaných aplikacích. V opačném případě je definováno jako WINCODEC_SDK_VERSION1. Aplikace by měly nadále zadávat WINCODEC_SDK_VERSION.

Zadání WINCODEC_SDK_VERSION při volání WICCreateImagingFactory_Proxy k vytvoření objektu pro vytváření obrázků způsobí vytvoření CLSID_WICPngDecoder2 místo CLSID_WICPngDecoder1 z metody CreateDecoder a jejích variant. Enumerátor informací o dekodérové komponentě vrátí informace o komponentě CLSID_WICPngDecoder2, ale ne o CLSID_WICPngDecoder1.

Určení WINCODEC_SDK_VERSION1 způsobí použití CLSID_WICPngDecoder1 místo CLSID_WICPngDecoder2 ve výše uvedených případech.

Změny CLSID_WICImagingFactory

CLSID_WICImagingFactory1 byla přidána se stejným identifikátorem GUID jako CLSID_WICImagingFactorya byla přidána CLSID_WICImagingFactory2.

Při kompilaci proti Windows 8 SDK je CLSID_WICImagingFactory #defined na CLSID_WICImagingFactory2, aby podpořily nově kompilované aplikace používání nového chování dekodéru PNG. Aplikace by měly dál zadávat CLSID_WICImagingFactory.

Zadání CLSID_WICImagingFactory2 při volání CoCreateInstance za účelem vytvoření továrny na zpracování obrazů způsobí vytvoření CLSID_WICPngDecoder2 místo CLSID_WICPngDecoder1 z metody CreateDecoder a jejích variant. Enumerátor informací o dekodérové komponentě také vrátí informace o komponentě CLSID_WICPngDecoder2, ale ne o CLSID_WICPngDecoder1.

Zadání CLSID_WICImagingFactory1 způsobí použití CLSID_WICPngDecoder1 místo CLSID_WICPngDecoder2 ve výše uvedených případech.

Co je nového pro Windows 7

Ve Windows 7 byla WIC aktualizována o několik nových funkcí. Toto téma obsahuje stručný úvod k těmto novým funkcím.

Aktualizace kodeku TIFF

Kodek WIC TIFF byl aktualizován pro Systém Windows 7 tak, aby podporoval několik funkcí, které předchozí verze WIC nepodporuje.

  • Podpora velkých souborů TIFF
  • Dekódujte dlaždicové TIFF obrázky.
  • Dekódujte ploché (planární) obrázky TIFF.
  • Dekódujte obrázky TIFF kódované ve formátu JPEG.

Progresivní dekódování

Progresivní dekódování poskytuje možnost přírůstkově dekódovat a vykreslovat části obrázku před dokončením stahování celého obrázku. Tato funkce výrazně zlepšuje uživatelské prostředí při prohlížení obrázků z internetu, protože uživatel nemusí čekat na stažení celého obrázku před zahájením dekódování. S progresivním dekódováním můžou uživatelé zobrazit náhled obrázku s dostupnými daty dlouho před stažením celého obrázku. Tato funkce je nezbytná pro všechny aplikace používané k zobrazení obrázků z internetu nebo ze zdrojů dat s omezenou šířkou pásma.

Další informace naleznete v přehledu o progresivním dekódování.

Podpora rozšířených metadat pro JPEG, PNG a GIF

WiC ve Windows 7 rozšířil podporu metadat obrázků JPEG, PNG a GIF.

  • Byla přidána podpora pro animované GIFy a vlastnosti GIF.
  • Rozšířené obslužné rutiny metadat JPG pro podporu chrominance, světelnosti a metadat komentářů
  • Rozšíření obslužných rutin metadat PNG pro podporu tIME, sRGB, iCCP, hIST, cHRM, iTXt, bKGD a gAMA.
  • Byly přidány nové obslužné rutiny metadat 8BIM pro metadata ResolutionInfo a hodnoty hash IPTC.
  • Byly přidány nové zpracovatelské rutiny metadat pro popisovač logických obrazovek (LSD), popisovač obrázků (IMD), rozšíření grafického ovládacího prvku (GCE) a rozšíření aplikací (APE).
  • Podpora metadat, která zahrnují bloky APPn.

Podpora vícevláknových apartmánů

Objekty v rámci vícevláknového apartmánu (MTA) se můžou volat souběžně libovolným počtem vláken v rámci MTA, což umožňuje lepší výkon vícejádrových systémů a určitých scénářů serveru. Kromě toho mohou kodeky WIC, které se nacházejí v MTA, volat jiné objekty také umístěné v MTA bez režijních nákladů spojených s voláním mezi vlákny, které jsou umístěny v různých STA prostředích. Ve Windows 7 byly všechny interní kodeky WIC aktualizovány tak, aby podporovaly MTA, včetně JPEG, TIFF, PNG, GIF, ICO a BMP. Důrazně doporučujeme zapsat kodeky pro podporu MTA. Kodeky, které nepodporují MTA, způsobí výrazné zhoršení výkonu ve vícevláknových aplikacích kvůli přenosu dat. Povolení podpory MTA vyžaduje, aby se v kodeku implementovala správná synchronizace. Přesná implementace těchto technik synchronizace je nad rámec tohoto dokumentu. Níže najdete obecný odkaz pro synchronizaci objektů modelu COM (Component Object Model).

Implementace pracovních skupin metadat

V současné době existuje celá řada formátů úložiště metadat, které obsahují překrývající se vlastnosti, bez jakýchkoli jasných oborových standardů nebo pokynů k konzistentním metodám čtení a zápisu těchto formátů metadat. Pro podporu této řady formátů a vlastností byla vytvořena pracovní skupina metadat (MWG). Cílem MWG je poskytnout pokyny, které zajišťují interoperabilitu mezi širokou škálou platforem, aplikací a zařízení. Pokyny stanovené MWG platí pro pole metadat XMP, Exif a IPTC a pro formáty obrázků JPEG, TIFF a PSD.

Ve Windows 7 byla obslužná rutina metadat fotografií a vrstva zásad metadat aktualizovány tak, aby četla a zapisovala metadata obrázků podle pokynů stanovených MWG. Další informace o pracovní skupině metadat (MWG) najdete v pokynech pro zavedená metadata.

Funkce systému Windows 7 podporované v systémech Windows Vista a Windows Server 2008

Platform Update pro Windows Vista je sada knihoven za běhu, které vývojářům umožňují cílit aplikace na Windows 7 i Windows Vista. Aktualizace platformy pro Windows Server 2008 je sada knihoven za běhu, které vývojářům umožňují cílit aplikace na Windows Server 2008 R2 i Windows Server 2008. Aktualizace platformy pro systém Windows Vista a aktualizace platformy pro systém Windows Server 2008 bude k dispozici všem zákazníkům systému Windows Vista a Windows Server 2008 prostřednictvím služby Windows Update. Aplikace třetích stran, které vyžadují Platform Update pro systém Windows Vista nebo Platform Update pro systém Windows Server 2008, mohou využít službu Windows Update k ověření, zda je požadovaná aktualizace nainstalována. Pokud tomu tak není, systém Windows Update ji stáhne a nainstaluje na pozadí. Další informace o obou aktualizacích naleznete v tématu Aktualizace platformy pro Systém Windows Vista.