【发布时间】:2013-09-06 10:56:43
【问题描述】:
我正在使用 SDL 的 IMG_Load() 函数在 Linux 和 Mac OS X 上加载 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 是正确的。
知道为什么会发生这种情况以及如何避免这种情况吗?
【问题讨论】: