PNG 形式の概要
このトピックでは、Windows イメージング コンポーネント (WIC) で使用できるネイティブ PNG コーデックに関する情報を提供します。
コーデック ID
次の表に、コーデック識別情報を示します。
コンポーネント | 説明 |
---|---|
正式な名前 | ポータブル ネットワーク グラフィックス (PNG) |
ファイル名拡張子 | png |
MIME の種類 (MIME type) | image/png |
仕様のサポート | PNG 仕様 1.2 |
次の表は、ネイティブ PNG コーデック コンポーネントを識別するために使用される GUID の一覧です。
コンポーネント | フレンドリ名 | GUID |
---|---|---|
コンテナーの形式 | GUID_ContainerFormatPng | 1b7cfaf4-713f-473c-bbcd6137425faeaf |
デコーダー | CLSID_WICPngDecoder | 389ea17b-5078-4cde-b6ef25c15175c751 |
エンコーダー | CLSID_WICPngEncoder | 27949969-876a-41d7-9447568f6a35a4dc |
Windows 8 以降
WINDOWS 8 WIC 以降では、追加の PNG デコーダーが提供されます
Encoding
WIC エンコード API はコーデックに依存しないように設計されており、WIC 対応コーデックのイメージ エンコードは基本的に同じです。 WIC API を使用したイメージ エンコードの詳細については、「エンコードの 概要」を参照してください。
エンコーダー オプション
WIC 対応コーデックはエンコード オプション レベルで異なります。 エンコーダー オプションにはイメージ エンコーダーの機能が反映されており、各ネイティブ コーデックでは、これらのエンコーダー オプションのセットがサポートされています。 エンコーダー オプションは、すべての WIC 対応コードで使用できる基本的な WIC サポートオプション (必ずしもサポートされていない) またはイメージ形式コーデックによって設計されたコーデック固有のオプションです。 エンコード プロセス中にこれらのエンコード オプションを管理するために、WIC は IPropertyBag2 インターフェイス を使用します。 WIC エンコードに IPropertyBag2 インターフェイスを使用する方法の詳細については、「 エンコードの概要」を参照してください。
PNG コーデックでは、基本的な WIC エンコーダー オプションが使用されます。 次の表に、ネイティブ PNG コーデックでサポートされる WIC エンコーダー オプションを示します。
プロパティ名 | VARTYPE | 値の範囲 | 既定値 |
---|---|---|---|
InterlaceOption | VT_BOOL | True/False | FALSE |
FilterOption | VT_UI1 | WICPngFilterOption | WICPngFilterUnspecified |
コーデックがサポートしていない IPropertyBag2 オプション リストにエンコーダー オプションが存在する場合、そのオプションは無視されます。
InterlaceOption
イメージ データをインターレースとしてエンコードするかどうかを指定します。
既定値は FALSE です。
FilterOption
イメージ圧縮に使用するフィルター オプションを指定します。
既定値は WICPngFilterUnspecified です。
デコード
WIC デコード API はコーデックに依存しないため、WIC 対応コーデックのイメージ デコードは基本的に同じです。 イメージのデコードの詳細については、「 デコードの概要」を参照してください。 デコードされたイメージ データの使用の詳細については、「 ビットマップ ソースの概要」を参照してください。
ネイティブ PNG コーデックでは、フレーム デコード時に IWICBitmapSourceTransform もサポートされ、イメージ ストリームをデコードするための高度なオプションが追加されます。 これらの詳細オプションの詳細については、「 ビットマップ ソースの概要」を参照してください。