2

私は正常に動作している png++ を使用していますが、テンプレート パラメーターとしてピクセル タイプを設定する必要があります。

 png::image< png::rgb_pixel > image("input.png");

問題は、コンパイル時に rgb か rgba かどうかわからないことです。実際に png に含まれている情報を png++ に教えてもらう方法が見つからないようです。

何か案は?

ありがとう。

4

2 に答える 2

4

ねえ、png++ここの作者が助けてくれます:)

PNG 画像のピクセル形式を知りたい場合png::readerは、次の方法がサポートされています。

png::reader< std::istream > reader(my_stream);
reader.read_info();
png::color_type color_type = reader.get_color_type();

ただし、画像の色の種類を気にせず、RGBA バッファなどにロードしたいだけの場合は、次を使用することをお勧めします。これにより、任意のpng::image< rgba_pixel > image("input.png")の PNG 画像が自動的に RGBA に変換されます。

于 2011-01-21T07:16:43.187 に答える
2

リーダーを使用してみてください。次に、その基本クラスio_baseのメンバー関数を確認してください。私はそれがあなたが探しているものを持っていると思います.

于 2011-01-20T17:32:41.467 に答える