我正在使用 stb 图像库加载大型 PNG 图像。以下代码适用于其他图像,所以我很确定周围的代码是正确的。
int width = 0, height = 0, nrChannels = 0;
unsigned char* data = stbi_load(file_name, &width, &height, &nrChannels, 0);
cout << " - Image color channels: " << nrChannels << endl << flush;
if (data) {
...
} else {
DIE_WITH_ERROR(); <-- Error raised here
}
加载后 nrChannels 也为 0。这是大小为 166800x1029 像素的 RGBA PNG 图像 - 38.5 MB
同一文件夹中的其他半透明 rgba 图像工作正常。
是图像大小的问题吗?我可以使用的最大图像是多少?
一些图像属性: