Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;SDL2图像加载不同格式的.bmp_C++_Image_Sdl 2 - Fatal编程技术网

C++ C++;SDL2图像加载不同格式的.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;

不久前我问了一个类似的问题,我问如何用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; 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);