boost::gilでpng画像を操作する インストール編

boost::gilは画像処理ライブラリです。画像のフォーマットに依存しないプログラミングができます。
ただしpngを読み書きするには別途libpngをインストールしてリンクする必要があります。


以下Windows環境へのインストール、ビルド手順です。

インストール&ビルド

boostライブラリ

boostのライブラリは以下のページから
Boost C++ Libraries - Browse /boost/1.44.0 at SourceForge.net
boost-jam-3.1.18-1-ntx86.zipとboost_1_44_0.zipを落としてきます。


boostという名前のディレクトリを作成し、上記2ファイルを解凍したものを入れましょう。
次にboost\boost-jam-3.1.18-1-ntx86\bjam.exeをboost\boost_1_44_0にコピーします。
そこでbjam.exeを実行します。
(bootstrap.batを使うのが正しい手順?)


以上です。ビルドの終了までしばらくかかります。

boost::gil

以下のページからgil.zipを入手してください。
http://opensource.adobe.com/wiki/display/gil/Downloads
展開されたgilディレクトリ内のboostとlibsをboost\boost_1_44_0に入れます。
上書きコピーの警告が出ますのではいを選択します。gilのインストールは以上です。
以上でboost::gilそのものは使えるようになりました。


png画像を読み書きしたいのでさらにインストールが必要です。

libpng,zlib

zlibは以下のページの
zlib Home Site
"zlib source code, version 1.2.5, zipfile format"の下に記載されてるリンクから落とします。


libpngのソースコードは以下のページのCurrent version: 1.4.3というテーブルのSource code: prdownloads.sourceforge.netの列にある.zipからダウンロード(全部一緒だと思うけど)
libpng Home Page


それぞれのzipを同じディレクトリに解凍する必要があります。
解凍後それぞれのディレクトリをlibpng,zlibにリネームします。


VisualStudioでビルドするために、libpng\projects\visualc71のlibpng.slnを開きます。
[zlib]->[Source Files]に存在しないファイルなどあるので一旦消し、
zlibディレクトリ以下にある.cを追加します。
example.cは除外します。


libpngのディレクトリパス名にスペースが含まれていると、ビルド中pngtestに失敗するようです。


ビルドターゲットを選択し、必要なライブラリを生成します。今回はLIB Releaseだけ。

終わり

インストールとビルドは以上です。
プロジェクトへの追加とサンプルコードは次のエントリで。

書きました->boost::gilでpng画像を操作する プロジェクトへの追加、サンプル作成編 - モデラート - C#とゲーム開発と雑記