はじめに
Windows Imaging Component(WIC)は、さまざまな形式の画像を読み込んだり、保存したり、変換したりするための新しいプラットフォームです。MicrosoftがJPEG 2000に代わる画像形式として開発し、積極的に普及を推進している最新のHD Photo形式にも対応しています。
HD Photoは、特許上の諸問題を抱えるJPEG 2000とは異なり、すべての人が無償で使用できるオープンな標準形式であり、JPEGやJPEG 2000よりも高い圧縮率と画質を実現しています。WICはまた、プログラマが独自の画像形式やデジタルカメラのRAW画像向けに、独自の画像コーデックを作成するためのプラットフォームでもあります。WICが提供する標準コーデックは、GDI+が提供する標準コーデックよりもセキュリティ的に優れています。
なおWICは、画像を読み込んだり、変換したり、保存したりする方法を提供するだけであり、WICが読み込んだ画像を表示させるには、Device Independent Bitmap(DIB)形式またはGDI+のいずれかを使用する必要があります。Microsoftが提供するサンプルコードではDIB形式を使用していますが、扱いが難しいため、この記事ではGDI+を使用します。GDI+を使用するメリットは、GDI+が処理する画像に描画をしたり、画像処理を追加したりできることです。
サンプル画像
HD Photo形式の画像表示に対応するWebブラウザはまだないため、ここでは同形式から変換したJPEG画像を何枚か掲載します。
変換の過程で2度圧縮を行っているため画質が劣化していますが、この点はご容赦ください。
筆者の会社がつい2週間前に移転したばかりの新しいオフィスビルを正面から撮影したものです。
筆者の席からの眺めは絶景で、同僚たちに羨ましがられています。赤い屋根の建物は電車の駅で、筆者は毎日この駅からオフィスまで15分歩いて通っています。
ご覧の通り筆者のオフィスは、よいレストランやお店がたくさん入っているショッピングモールのすぐ近くにあります。
サンプルコードの作成
Windows VistaとWindows XP SP3には、WICが標準搭載されています。SP3以外のWindows XP搭載コンピュータでWICを入手して今回のサンプルプロジェクトを実行するには、Microsoft .NET Framework 3.0をインストールするか、Windows Imaging Component(32 bit)またはWindows Imaging Component(64 bit)をインストールしてください。.NETを使用したWICや、WICのCOMインターフェイスを開発する方法のサンプルコードを入手するには、Windows Imaging Componentサンプルソースとツールをダウンロードしてください。
この記事にあるサンプルコードを作成するには、Windows Vista向け更新版Windows SDKをダウンロードしてインストールする必要があります。サンプルプロジェクトの「wincodec.idl
」と「wincodecsdk.idl
」は、筆者の開発用コンピュータにあるファイルを参照しているため、ユーザーの皆さんはプロジェクトからこれらを削除し、自身の開発用コンピュータに格納したWindows SDKの元の場所にそれぞれ再度追加する必要があります。