C++ C++;SDL2图像加载不同格式的.bmp
不久前我问了一个类似的问题,我问如何用SDL2_image.h加载不同格式的图像,这有助于我在SDL程序中加载图像。现在出现的问题是,当我尝试加载一个与“.bmp”格式不同的文件时 例如-这个代码运行良好C++ C++;SDL2图像加载不同格式的.bmp,c++,image,sdl-2,C++,Image,Sdl 2,不久前我问了一个类似的问题,我问如何用SDL2_image.h加载不同格式的图像,这有助于我在SDL程序中加载图像。现在出现的问题是,当我尝试加载一个与“.bmp”格式不同的文件时 例如-这个代码运行良好 Img = IMG_LoadTexture(renderer, "./image.bmp"); SDL_QueryTexture(Img, NULL, NULL, &w, &h); rectImg.x = 0; rectImg.y = 0; rectImg.w = w / 2;
Img = IMG_LoadTexture(renderer, "./image.bmp");
SDL_QueryTexture(Img, NULL, NULL, &w, &h);
rectImg.x = 0; rectImg.y = 0; rectImg.w = w / 2; rectImg.h = h / 2;
if (Img == NULL) {
std::cout << "failed to load image";
}
Img=Img_LoadTexture(渲染器,“./image.bmp”);
SDL_QueryTexture(Img、NULL、NULL、w和h);
rectImg.x=0;recimg.y=0;校正w=w/2;校正h=h/2;
如果(Img==NULL){
std::cout似乎缺少处理压缩格式所需的初始化代码:
IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG);
当我尝试使用它时,它找不到指定的模块,这是我必须下载的SDL2_图像之外的东西吗?@Darklander SDL2_图像二进制发行版附带了libjpeg、libpng等动态库,并且仅当通过IMG_Init
请求时才加载它们。您需要将所需的库放入库搜索路径中(或者很可能是您的可执行文件所在的同一目录)。Libjpeg和libpng已经在指定的搜索路径中,但是当我使用您提供给我的代码运行程序时+一个错误处理事件,我收到错误消息“Libjpeg-9.dll”找不到,但它们位于上面提到的指定路径中…@Darklander您确定libjpeg具有与可执行文件相同的平台配置(32/64位)吗?@VTT我怎么能看到?
IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG);