1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| dllmain.c
#include "dll.h"
//#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>
#include <alfont.h>
#include <winalleg.h>
// corps des fonctions
__declspec (dllexport) int GetBitmap (char *_ch , int _h)
{
BITMAP *bmp ;
ALFONT_FONT *user_font;
int _w=0;
//format pour le codage du texte (ASCII, ascii normal)
set_uformat(U_ASCII);
allegro_init();//initialise allegro
alfont_init();//initialise la font
//Charge une police
user_font = alfont_load_font("times.ttf");
// change la taille de police
alfont_set_font_size(user_font, _h);
//créé un bitmap
_w = alfont_text_length(user_font, _ch);
bmp=create_bitmap(_w,_h);
//initialise le bitmap a 0
clear_to_color(bmp,0);
//Déssine "_ch" a patir de la police "user_font" dans le bitmap "bmp" avec la couleur "makecol(255, 255, 255)"
alfont_textprintf_ex(bmp, user_font, 0, 0, makecol(0, 255, 0), 0, _ch);
//libere la memoire
destroy_bitmap(bmp);
alfont_destroy_font(user_font);
alfont_exit();
allegro_exit();
return _h;
}
// fin corps
BOOL APIENTRY DllMain (HINSTANCE hInst, // Library instance handle.
DWORD reason, // Reason this function is being called.
LPVOID reserved) // Not used.
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
// Returns TRUE on success, FALSE on failure
return TRUE;
} |
Partager