私は正常に動作している png++ を使用していますが、テンプレート パラメーターとしてピクセル タイプを設定する必要があります。
png::image< png::rgb_pixel > image("input.png");
問題は、コンパイル時に rgb か rgba かどうかわからないことです。実際に png に含まれている情報を png++ に教えてもらう方法が見つからないようです。
何か案は?
ありがとう。
ねえ、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 に変換されます。
リーダーを使用してみてください。次に、その基本クラスio_baseのメンバー関数を確認してください。私はそれがあなたが探しているものを持っていると思います.