c++ - 加载位图时 Allegro 崩溃

标签 c++ bitmap bmp allegro

我环顾四周,他们提出了类似的问题,但答案并没有解决我的问题。

所以,问题是 - 如果我尝试在 allegro 中加载/绘制 bmp,它会崩溃,它们与我的项目位于同一目录中,它们被正确命名,我相信问题出在 bmp 本身。如果我使用教程中的 bmp im 使用它们工作正常,但是如果我尝试创建自己的 allegro 在启动时崩溃,是否有某种预设 bmp 我可以用来创建我的 Sprite ?我已经多次检查我的代码,但如果我遗漏了什么,请指出 :)

我的代码:

#include <allegro.h>

int main(int argc, char *argv[])
{
// Startup Stuff
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);

// Bitmap Stuff
BITMAP *pic = NULL;

pic = load_bitmap("enemy.bmp", NULL);


blit(pic, screen, 0,0,0,0,200,150);//Draw the whole bitmap to the screen at (0,0)

readkey(); // Wait for Key Press.

destroy_bitmap(pic);



return 0;
}
END_OF_MAIN();

Tutorial Im Reading

提前致谢

最佳答案

问题是颜色深度,我制作的 bmp 是 16 位的,将它们更改为 24 位解决了问题!

关于c++ - 加载位图时 Allegro 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296250/

相关文章:

.net - 如何访问位图图像中的每个字节

image - 如何解释 1 bpp BMP 文件中的像素阵列

c++ - 我如何从 uint8_t vector 创建一个 istream?

android - 如何在android中获得基于颜色的复杂区域?

android - 从位图中获取图像并将其放入字符串中

android - 9-patch 图像看起来像素化

在内存中将 BMP 文件转换为 PNG 文件

c++ - 在类中声明 vector 大小

C++ operator++ 和指针

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?