Udostępnij za pośrednictwem


Omówienie formatu JPEG

Ten temat zawiera informacje o natywnym koderze JPEG dostępnym 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 Wspólna grupa ekspertów fotograficznych (JPEG)
Rozszerzenia nazw plików jpe, jpeg, jpg
Typ MIME image/jpeg, image/jpe, image/jpg
Obsługa specyfikacji Specyfikacja JFIF 1.02

 

W poniższej tabeli wymieniono identyfikatory GUID używane do identyfikowania natywnych składników koderowych JPEG.

Składnik Przyjazna nazwa GUID
Format kontenera GUID_ContainerFormatJPEG 19e4a5aa-5662-4fc5-a0c01758028e1057
Dekoder CLSID_WICJpegDecoder 9456a480-e88b-43ea-9e730b2d9b71b1ca
Koder CLSID_WICJpegEncoder 1a34f5c1-4a5a-46dc-b6441f4567e7a676

 

Kodowanie

API kodowania WIC jest zaprojektowany jako niezależny od kodeka, a kodowanie obrazów dla kodeków obsługujących WIC jest zasadniczo takie samo. Aby uzyskać więcej informacji na temat kodowania obrazów przy użyciu interfejsu API WIC, zobacz Omówienie kodowania.

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 opcje WIC, dostępnymi dla wszystkich kodeków z obsługą WIC (choć niekoniecznie obsługiwanych) lub opcjami specyficznymi dla kodeka kodera zaprojektowanego przez kodera formatu obrazu. Aby zarządzać tymi opcjami kodowania podczas procesu kodowania, WIC używa interfejsu IPropertyBag2 . Aby uzyskać więcej informacji na temat używania interfejsu IPropertyBag2 do kodowania WIC, zobacz Omówienie kodowania.

Koder JPEG używa podstawowych opcji WIC. W poniższej tabeli wymieniono opcje kodera WIC obsługiwane przez natywny koder JPEG.

Nazwa właściwości VARTYPE Zakres wartości Wartość domyślna
JakośćObrazu VT_R4 0 - 1.0 0.9
BitmapTransform VT_UI1 WICBitmapTransformOptions WICBitmapTransformRotate0
Jasność VT_UI4/VT_ARRAY 64 Wpisów (DCT) Domyślna tabela luminacji.
Chrominancja VT_UI4/VT_ARRAY 64 wpisów (DCT) Domyślna tabela chrominance.
JpegYCrCbSubsampling VT_UI1 WICJpegYCrCbSubsamplingOption WICJpegYCrCbSubsampling420
SuppressApp0 VT_BOOL PRAWDA/FAŁSZ FAŁSZ

 

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

Opcja ImageQuality

Określa żądaną wierność obrazu. Wartość 0.0 wskazuje najniższą możliwą wierność, a wartość 1.0 określa najwyższą wierność.

Wartość domyślna to 0,9.

Opcja BitmapTransform

Określa sposób przekształcania obrazu podczas dekodowania obrazu. Ta opcja musi być ustawiona na jedną z wartości wyliczenia WICBitmapTransformOptions.

Wartość domyślna to WICBitmapTransformTransformRotate0.

Opcja jasności

Określa tabelę poziomu jasności skali szarości, która ma być używana do kodowania.

Opcja chrominancji

Określa tabelę chrominancji używaną do kodowania.

Opcja JpegYCrCbSubsampling

Określa współczynnik podpróbkowania do kodowania YCrCb.

Wartość domyślna to WICJpegYCrCbSubsampling420.

Opcja ZignorujApp0

Określa, czy należy pominąć zapis metadanych app0 podczas kodowania danych obrazu.

Wartość domyślna to FALSE.

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).

Natywny koder JPEG obsługuje również IWICBitmapSourceTransform dekodowania ramek, dodając opcje advaced na potrzeby dekodowania strumienia obrazu. Aby uzyskać więcej informacji na temat tych opcji zaawansowanych, zobacz Mapy bitowe — omówienie.