穴日記

どうだ明るくなったろう

C++で画像とか入出力のまとめ

最近CGとかやってるんですが、結果画像を画像ファイルで保存したりしたいわけです。
まあ、適当にやるならPPMとかでもいいんですけど、PNGとかで保存したいなあ、という需要もあるわけですね。
そこで、マルチプラットフォームっぽいC++用の画像入出力ライブラリについて、集まった情報を自分用にまとめてみました。Twitterで教えてくれた人はありがとうございました!

  • boost::gil
    • Adobeさんが作ったGILライブラリです。最新のboostにはちょっと昔のバージョンが統合されています。ただし、単体ではPNGとかの読み書きはできず、libpngとかを別途入手する必要があります。VisualStudioだとlibファイル生成時のランタイムライブラリの指定などをうまくそろえないとクラッシュします。
  • Qt
    • 有名GUIライブラリ。GUIライブラリといいつつ、かなり汎用的なライブラリになっています。PNG出力とかもあっさりできます。ただし、boost同様非常に巨大なライブラリなので、導入するのがちょい面倒ですね。(ただ、libpngを別途導入したりはしなくていい分、楽といえば楽)