Udostępnij za pośrednictwem


Omówienie formatu BMP

Ten temat zawiera informacje na temat natywnego kodera BMP dostępnego za pośrednictwem składnika Windows Imaging (WIC).

Tożsamość kodeka

Poniższa tabela zawiera informacje dotyczące identyfikacji koderów.

Składnik Opis
Nazwy formalne Format mapy bitowej systemu Windows
Rozszerzenia nazw plików bmp, dib
Typ MIME image/bmp
Obsługa specyfikacji Specyfikacja BMP v5

 

W poniższej tabeli wymieniono identyfikatory GUID używane do identyfikacji natywnych komponentów kodera BMP.

Składnik Przyjazna nazwa GUID
Format kontenera GUID_ContainerFormatBmp 0af1d87e-fcfe-4188-bdeba7906471cbe3
Dekoder CLSID_WICBmpDecoder 6b462062-7cbf-400d-9fdb813ddd10f2778
Koder CLSID_WICBmpEncoder 69be8bb4-d66d-47c8-865aed1589433782

 

Kodowanie

Interfejs API kodowania WIC został zaprojektowany tak, aby był niezależny od kodera i dlatego kodowanie obrazów dla koderów z obsługą funkcji WIC jest zasadniczo takie samo. Aby uzyskać więcej informacji na temat kodowania obrazów przy użyciu API WIC, zobacz Kodowanie: omówienie.

Opcje kodera

Koderki z obsługą funkcji WIC różnią się na poziomie opcji kodowania. Opcje kodera odzwierciedlają możliwości kodera obrazu, a każdy koder natywny obsługuje zestaw tych opcji kodera. Opcje kodera mogą być podstawowymi opcjami obsługiwanymi przez WIC dostępnymi dla wszystkich kodeków obsługujących WIC (choć niekoniecznie są one wspierane) lub innymi opcjami specyficznymi dla kodeka, zaprojektowanymi przez kodek formatu obrazu. Aby zarządzać tymi opcjami kodowania podczas procesu kodowania, WIC używa interfejsu IPropertyBag2 . Aby uzyskać więcej informacji na temat korzystania z interfejsu IPropertyBag2 do kodowania WIC, zobacz Omówienie kodowania.

W poniższej tabeli wymieniono opcje kodera WIC obsługiwane przez natywny koder BMP.

Nazwa właściwości VARTYPE Zakres wartości Wartość domyślna
EnableV5Header32bppBGRA VT_BOOL PRAWDA/WARUNEK_FAŁSZ VARIANT_FALSE

 

EnableV5Header32bppBGRA

Określa, czy dozwolone jest kodowanie danych w formacie pikseli GUID_WICPixelFormat32bppBGRA. Jeśli ta opcja zostanie ustawiona na VARIANT_TRUE, protokół BMP zostanie zapisany przy użyciu nagłówka BITMAPV5HEADER.

Wartość domyślna to VARIANT_FALSE.

Jeśli opcja kodera znajduje się na liście opcji IPropertyBag2, której kodek nie obsługuje, jest ignorowana.

Uwaga dotycząca 16-bitowych i 32-bitowych plików BMP systemu Windows koder-dekoder BMP ignoruje dowolny kanał alfa, ponieważ wiele starszych plików obrazów zawiera nieprawidłowe dane w tym dodatkowym kanale. Począwszy od systemu Windows 8, 32-bitowe pliki BMP systemu Windows zapisane przy użyciu BITMAPV5HEADER z prawidłową zawartością kanału alfa są odczytywane jako WICPixelFormat32bppBGRA

Dekodowanie

Interfejs API dekodowania WIC został zaprojektowany tak, aby był niezależny od kodera, a dekodowanie obrazów dla koderów z obsługą funkcji WIC jest zasadniczo takie samo. Aby uzyskać więcej informacji na temat dekodowania obrazów, zobacz Przegląd dekodowania. Aby uzyskać więcej informacji na temat używania zdekodowanych danych obrazu, zobacz Bitmap Sources Overview (Omówienie źródeł map bitowych).