Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3765 connectés 

 


Dernière réponse
Sujet : [Visual C++] Mettre un .bmp dans l'exe
antsite si si tu as raison, mais peux tu me filerle code pour :
la Loader avec avec Win32 et l'afficher ?
L'afficher je sais comment faire mais la loader a partir des ressources et l'afficher ensuite je sais pas (c tout le topic ça !) merci

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antsite si si tu as raison, mais peux tu me filerle code pour :
la Loader avec avec Win32 et l'afficher ?
L'afficher je sais comment faire mais la loader a partir des ressources et l'afficher ensuite je sais pas (c tout le topic ça !) merci
Willythekid Ben tu l'as pas fait avec les resources?? T'as pas créé une resource BMP dans VC++?? Ca n'a pas particulièrement de rapport avec la SDL:
1) tu crée la ressource et l'ajoute à l'exe lors de la compil
2) tu la load avec les fonctions de l'API Win32
3) tu l'affiche avec les fonctions de la SDL
 
Ton premier post laisse penser que c'est la piste que tu avais choisi!...
 
Au fait, pourkoi tu as chosi la SDL, si c'est pas pour faire du code portable?

 

[edtdd]--Message édité par Willythekid--[/edtdd]

antsite merci ! Et tu ne saurais pas par hasard comment mettre un bmp dans l'exe avec SDL ?
Willythekid C'est pas clair :)
 
Pour obtenir le HWND tu utilise SDL_GetWMInfo() de SDL_syswm.h. (Y doit y avoir un example sur le site de la SDL...). Mais je suis bonne poire :)
 
extern DECLSPEC int SDL_GetWMInfo(SDL_SysWMinfo *info);
et...miracle:
 
typedef struct {
 SDL_version version;
 HWND window;
} SDL_SysWMinfo;
 
Avec ca, tu peux avoir ton DC et faire ce que tu veux!

 

[edtdd]--Message édité par Willythekid--[/edtdd]

antsite Le problème c'est que tout ça (fenêtre, etc) est géré par ma librairie SDL donc moi je m'occupe pas de ça ! Je fais un truc du genre Init() et ensuite je dessine dans la fenêtre ! Y a pas de HDC pas plus que de HWND (en tout cas je n'y ai pas accès !)
Ace17 // On suppose que hdc est un HDC correspondant a ta fenetre
 
HBITMAP hBitmp;
HDC hdcBitmap;
 
hBitmap = LoadBitmap(hdc, IDB_BITMAP);
hdcBitmap = CreateCompatibleDC(hdc);
SelectObject(hdcBitmap, hBitmap);
BitBlt(hdc, x, y, cx, cy, hdcBitmap, 0, 0, SRCCOPY);
DeleteObject(hdcBitmap)
DeleteObject(hBitmap)
antsite ben tu proposes quoi ?
Ace17 Qui parle d'utiliser absolument cette fonction?
antp oui mais si il veut utiliser sa fonction venant de son .lib il a pas trop le choix...
Ace17 Non mais attendez la, c'est vraiment porc comme technique ca. Il y a un autre moyen simple d'afficher un bitmap contenu dans une ressource.
antsite Et bien voila comme ça c clair !
Merci à tous de m'avoir aidé
a+  :hello:  
ANT
antp si la fonction attend un nom de fichier tu dois lui donner un nom de fichier
 
la seule solution est de créer un fichier temporaire
antsite le problème c pas ma fonction !
Elle est dans un .lib et je peux pas y toucher
Willythekid Ben déjà montre nous à quoi ressemble ta fonction DisplayBMP...c'est sans doute là que se trouve l'erreur!
antsite ben ouais, c vrai que créer un fichier externe temp, c pas top, enfin,...
chrisbk ben alors essaye avec LockResource, LoadResource & cie pour sortir ton BMP de l'exe, le sauver dans un endroit temporaire et le relire avec SDL
 
 
ca fait un peu foutoir, quand meme .....
antsite mais la fonction que j'utilise (lib SDL) c'est pas loadbitmap...
Ace17 Ben ouais moi j'ai toujours appris a charger a partir des ressources; La révélation ca a été quand j'ai su comment charger des fichiers externes!
chrisbk un fin LoadBitmap(..) + bitmap stocké dans les resources peut etre ?
antsite Non non c juste un exemple ! Une fonction qui affiche un bmp et qui prend comme param un chemin d'accès ! Peut on changer ce chemin d'accès en MAKINTRESOURCE ?
Ace17 D'ou elle sort cette fonction DisplayBMP?
antsite salut
je voudrais mettre un .bmp dans l'exe au lieu de faire référence à un autre fichier externe classique. J'ai donc créé une nouvelle ressource Bitmap et j'ai mis le bitmap dedans. VC++ génère un .h et .rc, tout va bien ça compile. Seulement, je souhaite indiquer à une fonction DisplayBMP() non pas "c:\\toto.bmp", mais la ressource. Je fais donc MAKEINTRESOURCE(IDB_BITMAP1), ça compile, mais ça marche pas, le bitmap n'est pas afficher ! Help !

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)