0

Linux と Mac OS X の両方で、SDL の IMG_Load() 関数を使用して PNG ファイルをロードしています。動作しますが、Linux では 24 BitsPerPixel のフォーマットを取得し、OS X では 32 bpp を取得するという奇妙な部分があります。

SDL_Surface *image = IMG_Load("path/to/image.png");
std::cerr << (int)image->format->BitsPerPixel << std::endl;

イメージ ファイルは、両方のシステムでまったく同じです。

$ file data/test_scenario.png
data/test_scenario.png: PNG image data, 640 x 400, 8-bit/color RGB, non-interlaced

ファイル出力から判断すると、24bpp が正しいと思います。

なぜこれが起こるのか、どうすればこれを回避できるのでしょうか?

4

1 に答える 1