Implémentation d’un encodeur WIC-Enabled
Introduction
l’implémentation d’un encodeur wic (Windows Imaging Component) requiert l’écriture de deux classes, comme c’est également le cas pour l’implémentation d’un décodeur wic. les interfaces sur ces classes correspondent directement aux responsabilités d’encodeur décrites dans la section encodage du composant de création d’images Windows.
L’une des classes fournit des services au niveau du conteneur et gère la sérialisation des trames d’image individuelles dans le 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 la trame et effectue l’encodage réel des bits d’image pour chaque frame dans le conteneur. Il itère également au sein des blocs de métadonnées pour chaque frame et demande les enregistreurs de métadonnées appropriés pour 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 de niveau conteneur initialise lors de l’instanciation, dans laquelle la méthode Commit sérialise les données de frame.
Dans certains cas, tels que les formats bruts, l’auteur du codec peut ne pas souhaiter que les applications soient en mesure d’encoder ou de recoder au format brut, car l’objectif d’un fichier brut est de contenir les données de capteur exactement telles qu’elles proviennent 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 uniquement pour permettre l’ajout de métadonnées. Dans ce cas, l’encodeur a uniquement besoin de prendre en charge les méthodes nécessaires pour écrire des métadonnées et peut copier les bits d’image non touchés du décodeur.
Rubriques connexes
-
Informations de référence
-
Conceptuel