gpt4 book ai didi

c++ - stbi_load 无法加载图像

转载 作者:太空狗 更新时间:2023-10-29 21:34:33 27 4
gpt4 key购买 nike

我正在尝试使用 stbi_load() 加载纹理。这是我的代码:

int width, height, numComponents;

unsigned char* imgData = stbi_load(fileName.c_str(), &width, &height, &numComponents, 4);

if (imgData == NULL)
cout << "Cannot load texture" << endl;

//some code

//free

stbi_image_free(imgData);

当我运行该程序时,它显示无法加载纹理。我不知道出了什么问题。我确定文件名是有效路径,因为当我写:

std::ifstream infile(fileName);

if (infile.good())
{
cout << "Good" << endl;
}
else
{
cout << "Not good" << endl;
}

它产生Good。谁能告诉我导致 imgDataNULL 的代码有什么问题(图像是一个 *.jpg 文件,如果有人想知道)。任何帮助将不胜感激!

编辑:我运行了 stbi_failure_reason(),它返回了 progressive jpeg。这是什么意思?

最佳答案

原来答案很简单。如果您从该网站阅读:https://gist.github.com/roxlu/3077861

你会看到 stb_image 不支持 progressive JPEG 图像格式(我什至不知道它的存在)

关于c++ - stbi_load 无法加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46020364/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com