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.