In this part, we will be displaying this image on the screen using allegro_image functions/routines.
house.png |
Objective: Load and display image file.
▪ al_init_image_addon();
Before we start, we need to initialize the image addon first before using any other image related funcitons or routines.
▪ ALLEGRO_BITMAP *image = NULL;
Then we create a pointer 'image' to ALLEGRO_BITMAP structure which will hold our image.
▪ image = al_load_bitmap("house.png");
Then we use al_load_bitmap(const char *filename) function to load the image from a specified path to our ALEGRO_BITMAP structure we created.
▪ al_draw_bitmap(image, SCREEN_W/2, SCREEN_H/2, 0);
Then we draw the image on to the back buffer using al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags) routine which takes 3 parameters as follows:
The picture below explains, how the image is displayed on the screen as per our specified parameters.
#include <allegro5/allegro.h> #include <allegro5/allegro_image.h> #define SCREEN_W 640 #define SCREEN_H 480 int main() { al_init(); ALLEGRO_DISPLAY *screen = NULL; screen = al_create_display(SCREEN_W, SCREEN_H); al_init_image_addon(); ALLEGRO_BITMAP *image= NULL; image = al_load_bitmap("house.png"); al_draw_bitmap(image, SCREEN_W/2, SCREEN_H/2, 0); al_flip_display(); al_rest(5.0); al_destroy_display(screen); return 0; }Explanation:
▪ al_init_image_addon();
Before we start, we need to initialize the image addon first before using any other image related funcitons or routines.
▪ ALLEGRO_BITMAP *image = NULL;
Then we create a pointer 'image' to ALLEGRO_BITMAP structure which will hold our image.
▪ image = al_load_bitmap("house.png");
Then we use al_load_bitmap(const char *filename) function to load the image from a specified path to our ALEGRO_BITMAP structure we created.
▪ al_draw_bitmap(image, SCREEN_W/2, SCREEN_H/2, 0);
Then we draw the image on to the back buffer using al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags) routine which takes 3 parameters as follows:
■ ALLEGRO_BITMAP structure which holds our image.
■ X coordinate of the image to be drawn on the screen.
■ Y coordinate of the image to be drawn on the screen.
■ The flags parameter can be 0 or one of the following flags:
■ X coordinate of the image to be drawn on the screen.
■ Y coordinate of the image to be drawn on the screen.
■ The flags parameter can be 0 or one of the following flags:
ALLEGRO_FLIP_HORIZONTAL - flip the bitmap about the y-axis.
ALLEGRO_FLIP_VERTICAL - flip the bitmap about the x-axis.
ALLEGRO_FLIP_VERTICAL - flip the bitmap about the x-axis.
The picture below explains, how the image is displayed on the screen as per our specified parameters.
0 comments:
Post a Comment