ecrire sur un bitmap
Le
Eric Belhomme
bonjour,
je cherche à ecrire du texte sur un bitmap, mais je n'y arrive pas !
voila comment je procède :
1/ je charge mon image JPEG avec la librairie FreeImage
2/ création d'un HBITMAP compatible avec mon image
3/ creation d'un HDC compatible avec mon HBITMAP
4/ copie de mon image vers mon HDC
5/ ecriture de mon texte sur mon HDC
jusque là, j'ai bon : si je copie mon HDC vers un écran ou une imprimante,
j'ai bien mon image avec mon texte. C'eest maintenant que ca se gate, car
je veux récupérer mon bitmap modifié pour le sauvegarder :
GetObject( hbitmap1, sizeof(BITMAP), (LPSTR) &bm ) ;
hfi_bmp1 = FreeImage_Allocate( bm.bmWidth, bm.bmHeight, m.bmBitsPixel
) ;
BITMAPINFO *bmpinf = FreeImage_GetInfo(hfi_bmp1) ;
i = GetDIBits( memdc, hbitmap1, 0, FreeImage_GetHeight(hfi_bmp1),
FreeImage_GetBits(hfi_bmp1), bmpinf, DIB_RGB_COLORS ) ;
Helas, j'obtient mon image originale, sans les modifications apportées :(
J'ai pas vraiment l'habitude de travailler avec le GDI, aussi j'ai un peu
de mal je suppose que je dois générer un nouveau HBITMAP à partir du HDC
où j'ai fait toutes mes manipulations, seulement je n'ai trouvé aucune
piste dans les MSDN, ni sur le web :-/
Toute suggestion est donc la bienvenue ;)
fu2 microsoft.public.fr.vc
--
Eric Belhomme
je cherche à ecrire du texte sur un bitmap, mais je n'y arrive pas !
voila comment je procède :
1/ je charge mon image JPEG avec la librairie FreeImage
2/ création d'un HBITMAP compatible avec mon image
3/ creation d'un HDC compatible avec mon HBITMAP
4/ copie de mon image vers mon HDC
5/ ecriture de mon texte sur mon HDC
jusque là, j'ai bon : si je copie mon HDC vers un écran ou une imprimante,
j'ai bien mon image avec mon texte. C'eest maintenant que ca se gate, car
je veux récupérer mon bitmap modifié pour le sauvegarder :
GetObject( hbitmap1, sizeof(BITMAP), (LPSTR) &bm ) ;
hfi_bmp1 = FreeImage_Allocate( bm.bmWidth, bm.bmHeight, m.bmBitsPixel
) ;
BITMAPINFO *bmpinf = FreeImage_GetInfo(hfi_bmp1) ;
i = GetDIBits( memdc, hbitmap1, 0, FreeImage_GetHeight(hfi_bmp1),
FreeImage_GetBits(hfi_bmp1), bmpinf, DIB_RGB_COLORS ) ;
Helas, j'obtient mon image originale, sans les modifications apportées :(
J'ai pas vraiment l'habitude de travailler avec le GDI, aussi j'ai un peu
de mal je suppose que je dois générer un nouveau HBITMAP à partir du HDC
où j'ai fait toutes mes manipulations, seulement je n'ai trouvé aucune
piste dans les MSDN, ni sur le web :-/
Toute suggestion est donc la bienvenue ;)
fu2 microsoft.public.fr.vc
--
Eric Belhomme

Poser une question


À ce point-là, le HDC contient la même chose que le HBITMAP.
Plus maintenant.
Comme tu l'as très bien écrit ci-dessus, le résultat de ton travail est dans
ton HDC. C'est là qu'il faut aller le chercher.
Bin oui, puisque tu regardes le HBITMAP.
Les gens qui lisent ce forum (fr.comp.lang.c) non plus...
Pareil.
Non.
Antoine