次の方法で共有


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 もサポートされ、イメージ ストリームをデコードするための高度なオプションが追加されます。 これらの詳細オプションの詳細については、「 ビットマップ ソースの概要」を参照してください。