Comment insérer une image ?

Fonction readimagefile();

Pour insérer une image dans la fenêtre graphique à partir d'un fichier, il faut utiliser la fonction void readimagefile(char*  nom_fichier, int left, int top, int right, int bottom);. L'image correspondant à nom_fichier est affichée avec les dimensions définies par (left, top, right, bottom). Par défaut, le fichier image doit se situer dans le même répertoire que l'exécutable. Si nom_fichier est égal à l'option NULL, une fenêtre de dialogue permet à l'utilisateur de choisir lui-même le fichier image sur le disque dur. Les types supportés sont les fichiers BMP, GIF, JPG, ICO, EMF et WMF. Exemple pour afficher l'image "portrait.bmp" dans une fenêtre graphique de dimensions XMAX, YMAX :

#define XMAX    600
#define YMAX    400
void main(void)
{
    initwindow(XMAX,YMAX);
    readimagefile("portrait.bmp", 0, 0, XMAX, YMAX);
    closegraph();
}

Attention, dans certaines versions de la bibliothèque WINBGIM, les fichiers "winbgim.h" ne contiennent pas la fonction readimagefile(); !! Voir la remarque en fin de page sur l'installation de la bibliothèque.

Et pour sauvegarder une copie de la fenêtre ??

La fonction void writeimagefile(char* nom_fichier, int left, int top, int right, int bottom); permet de sauvegarder dans un fichier image une partie de la fenêtre graphique (identique à une copie d'écran en quelque sorte...). Si nom_fichier est égal à NULL, c'est l'utilisateur qui spécifie lui-même le nom et l'emplacement du fichier de destination via une boite de dialogue. Les types de fichiers images supportés sont les mêmes que pour la lecture. A noter que si les dimensions (left, top, right, bottom) de la zone à sauvegardée ne sont pas précisées, l'image finale est une copie de la fenêtre graphique entière :

writeimagefile("copie_fenetre.jpg");