Megosztás a következőn keresztül:


A dekódolás áttekintése

A témakör bemutatja a bitkép-dekódert, amely egy alapvető Windows Képalkotó összetevő (WIC) kodekösszetevő, amellyel képfájlokat dekódolhat egy streamből.

Ez a témakör a következő szakaszokat tartalmazza.

Bevezetés

A bitkép-dekóderek a digitális képek külső tárolójaként tekinthetők meg, és hozzáférést biztosítanak a globális tulajdonságokhoz és képkeretekhez. Egyes képformátumok támogatják a globális miniatűröket, előnézeteket, színkörnyezeteket vagy metaadatokat, míg mások csak a keret szintjén biztosítják ezeket a tulajdonságokat. Vegye figyelembe azonban, hogy a szabványos képformátumok közül sok nem támogatja ezeket a globális tulajdonságokat. Ezért a WIC által biztosított natív kodek-implementációk többsége nem támogatja ezeknek a globális tulajdonságoknak a többségét. A globális tulajdonságtámogatással kapcsolatos információkért tekintse meg a témakör natív bittérkép-dekódoló szakaszának táblázatát.

A WIC-ben a bittérkép-dekódereket az IWICBitmapDecoder interfész képviseli, és hozzáférést biztosít a bitkép ezen globális tulajdonságaihoz, és ami még fontosabb, a benne található keretekhez. Az IWICBitmapFrameDecode interfész egy-egy bitképkeretet jelöl, és a Bitképforrások áttekintésecímű cikk ismerteti részletesen.

Natív Bitmap-dekódolók

A WIC a IWICBitmapDecoder felületének számos natív implementációját biztosítja a szabványos webes képformátumokhoz és a nagy dinamikus tartományú HD Photo formátumhoz. Az alábbi táblázat a rendelkezésre álló natív dekódereket, az osztályazonosító nevét és a globális tulajdonságok támogatását sorolja fel. Bár előfordulhat, hogy egy szolgáltatás globális szinten nem támogatja a miniatűrök tulajdonságát, a képformátum az egyes keret szintjén is támogathatja az ilyen tulajdonságokat.

Képformátum CLSID-név Miniatűrök Előzetesek Színkörnyezetek Metaadatok
BMP CLSID_WICBmpDecoder Nem Nem Nem Nem
GIF CLSID_WICGifDecoder Nem Nem Nem Igen
ICO CLSID_WICIcoDecoder Nem Nem Nem Nem
JPEG CLSID_WICJpegDecoder Nem Nem Nem Nem
PNG CLSID_WICPngDecoder Nem Nem Nem Nem
ÖSSZETŰZÉS CLSID_WICTiffDecoder Nem Nem Nem Nem
HD fénykép CLSID_WICWmpDecoder Nem Igen Nem Nem

 

Bitkép-dekóder létrehozása

Ha wic használatával szeretne dekódolni egy képet, először létre kell hoznia a IWICBitmapDecoder egy példányát a célzott képformátumhoz. A dekóderpéldány lehetővé teszi a globális tulajdonságok és metaadatok elérését, amennyiben ez támogatott, valamint a képkeretekét is. A WIC képalkotó gyár, IWICImagingFactory, számos módszert kínál a bitkép-dekóderek létrehozásához. A bittérkép-dekóderek létrehozásához a következő gyári metódusok érhetők el.

Az alábbi kód bemutatja, hogyan hozhat létre bitkép-dekódert egy képfájlnév használatával, és hogyan kérdezheti le a kép első keretét.

   // Create a decoder
   IWICBitmapDecoder *pDecoder = NULL;

   hr = m_pIWICFactory->CreateDecoderFromFilename(
       szFileName,                      // Image to be decoded
       NULL,                            // Do not prefer a particular vendor
       GENERIC_READ,                    // Desired read access to the file
       WICDecodeMetadataCacheOnDemand,  // Cache metadata when needed
       &pDecoder                        // Pointer to the decoder
       );

   // Retrieve the first frame of the image from the decoder
   IWICBitmapFrameDecode *pFrame = NULL;

   if (SUCCEEDED(hr))
   {
       hr = pDecoder->GetFrame(0, &pFrame);
   }

Dekóder bővíthetősége

A WIC egyik alapvető funkciója egy bővíthetőségi keretrendszer, amely lehetővé teszi, hogy a kodekfejlesztők saját képkodekeket fejlesszenek ki, és ugyanazt a platformtámogatást kapják, mint a képkodek natív implementációi. A rendszer minden képfeldolgozáshoz egyetlen, konzisztens illesztőkészletet használ, a képformátumtól függetlenül. A WIC-t használó alkalmazások automatikusan támogatják az új képformátumokat, amint a kodek telepítve van. A kodekfejlesztéssel kapcsolatos további információkért tekintse meg a komponensfejlesztésitémaköreit. További információ a dekóderek fejlesztéséről: WIC-Enabled Dekóderimplementálása.

fogalmi

Windows képalkotó összetevő áttekintése

kódolás áttekintése

Komponens fejlesztés