Partager via


Vue d’ensemble du décodage

La rubrique présente le décodeur bitmap, un composant de codec principal wic (Windows Imaging Component) utilisé pour décoder les fichiers image à partir d’un flux.

Cette rubrique contient les sections suivantes.

Introduction

Les décodeurs bitmap peuvent être vus comme le conteneur externe d’une image numérique et permettent d’accéder aux propriétés globales et aux cadres d’image. Certains formats d’image prennent en charge les miniatures globales, les aperçus, les contextes de couleur ou les métadonnées, tandis que d’autres fournissent ces propriétés uniquement au niveau de l’image. Notez toutefois que la plupart des formats d’image standard ne prennent pas en charge ces propriétés globales. Par conséquent, la plupart des implémentations de codecs natifs fournies par WIC ne prennent pas en charge la majorité de ces propriétés globales. Consultez le tableau de la section Décodeurs bitmap natifs de cette rubrique pour plus d’informations sur la prise en charge globale des propriétés.

Dans WIC, les décodeurs bitmap sont représentés par l’interface IWICBitmapDecoder et permettent d’accéder à ces propriétés globales de la bitmap et, plus important encore, aux trames qu’elle contient. L’interface IWICBitmapFrameDecode représente un cadre bitmap individuel et est abordée en détail dans la vue d’ensemble des sources bitmap.

Décodeurs bitmap natifs

WIC fournit plusieurs implémentations natives de l’interface IWICBitmapDecoder pour les formats d’image web standard et le format photo HD à plage dynamique élevée. Le tableau suivant répertorie les décodeurs natifs, le nom de l’identificateur de classe et la prise en charge des propriétés globales disponibles. Bien qu’une fonctionnalité ne puisse pas prendre en charge une propriété telle que les miniatures au niveau global, le format d’image peut prendre en charge ces propriétés au niveau de l’image individuelle.

Format d'image Nom DU CLSID Miniatures Previews Contextes de couleurs Métadonnées
BMP CLSID_WICBmpDecoder Non Non Non Non
GIF CLSID_WICGifDecoder Non Non Non Oui
ICO CLSID_WICIcoDecoder Non Non Non Non
JPEG CLSID_WICJpegDecoder Non Non Non Non
PNG CLSID_WICPngDecoder Non Non Non Non
TIFF CLSID_WICTiffDecoder Non Non Non Non
HD Photo CLSID_WICWmpDecoder Non Oui Non Non

 

Création d’un décodeur bitmap

Pour décoder une image à l’aide de WIC, vous devez d’abord créer un instance du IWICBitmapDecoder pour le format d’image ciblé. Le décodeur instance vous permet d’accéder aux propriétés globales et aux métadonnées, si elles sont prises en charge, ainsi qu’aux images. La fabrique d’images WIC, IWICImagingFactory, fournit plusieurs méthodes pour créer des décodeurs bitmap. Les méthodes de fabrique suivantes sont fournies pour créer des décodeurs bitmap.

Le code suivant montre comment créer un décodeur bitmap à l’aide d’un nom de fichier d’image et récupérer la première image de l’image.

   // 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);
   }

Extensibilité du décodeur

L’une des principales fonctionnalités de WIC est une infrastructure d’extensibilité qui permet aux développeurs de codecs de développer leurs propres codecs d’image et d’obtenir la même prise en charge de la plateforme que les implémentations natives des codecs d’image. Un ensemble unique et cohérent d’interfaces est utilisé pour tous les traitements d’images, quel que soit le format de l’image. Toute application utilisant WIC bénéficie d’une prise en charge automatique des nouveaux formats d’image dès que le codec est installé. Pour plus d’informations sur le développement de codecs, consultez les rubriques dans Développement de composants. Pour plus d’informations sur le développement du décodeur, consultez Implémentation d’un décodeur WIC-Enabled.

Conceptuel

Vue d’ensemble du composant d’acquisition d’images Windows

Vue d’ensemble de l’encodage

Développement de composants