誰かが私にc++または.NET用のシンプルで使いやすいPNGライブラリを勧めてもらえますか?必要なのは、大きなPNG画像(たとえば20000x20000)をロードし、各ピクセルの色を教えてください。
.NETのビットマップクラスは大きな画像を読み込めず、OutOfMemory例外をスローします。
私はグーグルでc++ライブラリを調べるのにかなりの時間を費やしましたが、それらはすべて私が必要とする以上のことを行い、それらの使用法は私には複雑すぎます。
PNGファイルのデファクトスタンダードライブラリはLibPNGです。これは世界で最もよく設計されたAPIではありませんが、チュートリアルの1つで手順を実行するだけでは、混乱するのはかなり困難です。
APIを独自のいくつかの単純な関数(またはクラス)でラップするのがおそらく最も簡単です。それが済んだら、行ってもいいはずです。
C#がオプションの場合は、PNGCSを試してください。このシナリオでは(私自身、Javaで)行われ、行ごとに読み取りと書き込みが可能であり、すべてのデータをメモリに保持する必要はありません。
少なくともJavaで、巨大なファイル(30000 x 30000ピクセル、ディスクに2GB以上)を読み書きできることをテストしました
C ++の場合:
使用できるライセンスに応じて、次の内容を確認できます。
DeVIL:http ://openil.sourceforge.net/(少し時代遅れですが、それでも良い選択です)(Linux、Win)
ImageMagick: http: //www.imagemagick.org/script/index.php(よく維持されている、すべてのプラットフォーム)
どちらもさまざまな入力形式と出力形式をサポートしています。
編集:Githubにもあります:https ://github.com/DentonW/DevIL