Implémentation d’un encodeur WIC-Enabled

Introduction

L’implémentation d’un encodeur WIC (Windows Imaging Component) nécessite l’écriture de deux classes, comme c’est également le cas pour l’implémentation d’un décodeur WIC. Les interfaces de ces classes correspondent directement aux responsabilités de l’encodeur décrites dans la section Encodage du fonctionnement du composant d’acquisition d’images Windows.

L’une des classes fournit des services au niveau du conteneur et gère la sérialisation des images individuelles au sein du conteneur. Cette classe implémente l’interface IWICBitmapEncoder . Si votre format d’image prend en charge les métadonnées au niveau du conteneur, vous devez également implémenter l’interface IWICMetadataBlockWriter sur cette classe.

L’autre classe fournit des services au niveau de l’image et effectue l’encodage réel des bits d’image pour chaque image dans le conteneur. Il effectue également une itération au sein des blocs de métadonnées pour chaque image et demande aux enregistreurs de métadonnées appropriés de sérialiser les blocs. Cette classe implémente l’interface IWICBitmapFrameEncode et l’interface IWICMetadataBlockWriter . Cette classe doit avoir un membre IStream que la classe au niveau du conteneur initialise lors de l’instanciation, dans lequel la méthode Commit sérialise les données de trame.

Dans certains cas, comme les formats bruts, l’auteur du codec peut ne pas souhaiter que les applications puissent encoder ou réencoder au format brut, car l’objectif d’un fichier brut est de contenir les données du capteur exactement comme elles provenaient de l’appareil photo. Dans les cas où l’auteur du codec ne souhaite pas activer l’encodage, il est toujours nécessaire d’implémenter un encodeur rudimentaire simplement pour activer l’ajout de métadonnées. Dans ce cas, l’encodeur doit uniquement prendre en charge les méthodes nécessaires à l’écriture des métadonnées et peut copier les bits d’image non modifiés à partir du décodeur.

Informations de référence

Iwicbitmapencoder

Conceptuel

Implémentation d’IWICDevelopRaw

Interfaces d’encodeur

Comment écrire un codec WIC-Enabled

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