Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wprowadzenie
Zaimplementowanie kodera składnika Windows Imaging (WIC) wymaga pisania dwóch klas, co jest również prawdziwe w przypadku implementowania dekodera WIC. Interfejsy w tych klasach odpowiadają bezpośrednio obowiązkom kodera opisanym w sekcji Kodowanie w temacie How The Windows Imaging Component Works (Jak działa składnik Windows Imaging).
Jedna z klas zapewnia usługi na poziomie kontenera i zarządza serializacją poszczególnych klatek obrazów w kontenerze. Ta klasa implementuje interfejs IWICBitmapEncoder. Jeśli format obrazu obsługuje metadane na poziomie kontenera, należy również zaimplementować interfejs IWICMetadataBlockWriter w tej klasie.
Druga klasa udostępnia usługi na poziomie ramki i wykonuje rzeczywiste kodowanie bitów obrazu dla każdej ramki w kontenerze. Iteruje również przez bloki metadanych dla każdej ramki i wywołuje odpowiednich zapisujących metadane do serializacji bloków. Ta klasa implementuje interfejs IWICBitmapFrameEncode IWICMetadataBlockWriter. Ta klasa powinna mieć składową IStream, która inicjuje klasę na poziomie kontenera podczas tworzenia wystąpienia, w której metoda Commit będzie serializować dane ramki.
W niektórych przypadkach, takich jak nieprzetworzone formaty, autor kodera może nie chcieć, aby aplikacje mogły kodować lub ponownie kodować do formatu nieprzetworzonego, ponieważ celem nieprzetworzonego pliku jest zawieranie danych czujnika dokładnie tak, jak zostały zarejestrowane przez aparat. W przypadkach, gdy autor kodu nie chce włączyć kodowania, nadal jest konieczne zaimplementowanie podstawowego kodera tylko w celu włączenia dodawania metadanych. W takim przypadku koder musi obsługiwać tylko te metody niezbędne do pisania metadanych i może skopiować bity obrazu nietknięte z dekodera.
Tematy pokrewne
-
Referencja
-
Koncepcyjny
-
Implementowanie IWICDevelopRaw