Программа C / C ++ Allegro не запускается - PullRequest
1 голос
/ 20 ноября 2010

не будет загружать мою картинку. По умолчанию появляется сообщение об ошибке «error loading picture.bmp», которое не запускается

#include "allegro.h"

int main(void)
{
    char*filename="picture.bmp";
    BITMAP*image;
    int ret;

    allegro_init();
    install_keyboard();

    set_color_depth(32);
    ret=set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0);
    if(ret!=0)
    {
              allegro_message(allegro_error);
              return 1;
              }


    image=load_bitmap(filename,NULL);
    if(!image)
    {
            allegro_message("error loading %s",filename); 
            return 1;
              }

    blit(image,screen,0,0,0,0,SCREEN_W,SCREEN_H);

    destroy_bitmap(image);

    textprintf_ex(screen,font,0,0,1,-1,"%dx%d",SCREEN_W,SCREEN_H);

    while(!keypressed());

    allegro_exit();
    return 0;

}
END_OF_MAIN()

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Вам нужно будет предоставить больше информации ...

  • Какую платформу вы используете? (MS Visual C ++? Linux? Mac? ...)
  • Какая версия Allegro? (Я думаю, 4.x)


Предполагая, что ваш вопрос: «Как заставить мою программу Allegro отображать мое растровое изображение в соответствии с назначением», попробуйте

Убедитесь, что исполняемый файл и файл picture.bmp находятся в одном каталоге. Я предполагаю, что вы используете Microsoft IDE какого-то типа в Windows и пытаетесь запустить программу из IDE (например, через меню отладки или нажав клавишу F5) Полученный исполняемый файл помещается в специальный выходной каталог. Не удается найти файл picture.bmp.

В качестве альтернативы вы можете указать полный путь к файлу picture.bmp. Этот метод следует использовать только для проверки, действительно ли это проблема.

0 голосов
/ 12 декабря 2010

Я считаю, что ваша программа не может найти растровое изображение, которое вы пытаетесь загрузить.Попробуйте вставить точный путь к вашему растровому изображению в вашем коде.

Например:

char*filename="C:\My Documents\Pictures\picture.bmp";
...