#include <stdio.h>
#include <allegro5/allegro.h>
#include <conio.h>
void draw_bmp(int x, int y) //zdjęcie zacznie się w pkt-cie x,y
{
FILE * pFILE;
pFILE = fopen("earth.bmp","r");
if (pFILE != NULL)
{
for (int i=0; i<54; i++) fgetc(pFILE); //część pliku, która nie jest mi potrzebna
for (int i=0; i<100; i++) for (int j=0; j<100; j++) //100x100
{
al_draw_pixel(x+j, y+i, al_map_rgb(fgetc(pFILE),fgetc(pFILE),fgetc(pFILE))); //obraz jest odwrócony (na razie)
}
}
fclose(pFILE);
}
int main(int argc, char **argv)
{
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(100,100);
draw_bmp(0,0);
al_flip_display();
_getch();
al_destroy_display(display);
return 0;
}
Dlaczego funkcja draw_image rysuje tylko część zdjęcia (reszta jest biała), earth.bmp ma rozdzielczość 100x100.