Salut à tous !
J'ai appris la programmation en C++ sous linux il y a quelques années, et je suis chargé aujourd'hui de créer un programme en C++ sous Windows qui génère une vidéo à partir d'images bitmaps issues d'une animation OpenGL.
J'en suis à la première étape : récupération du buffer grâce à glReadPixels et création de bitmaps en mémoire.
J'ai fais connaissance de la librairie GDIplus de Windows avec laquelle j'essaye depuis plusieurs jours de me faire les dents en codant le plus simple des programmes : créer une image bitmap toute bidon (genre 10x10 avec un codage 24bits par pixels, sans aucune compression et toute bleue pour le moment) et l'enregistrer dans un nouveau fichier.
Seulement voilà plusieurs jours que je galère avec "HBITMAP" et compagnie, que je vois des HDC, HMachin partout et que je n'y comprend pas la moindre chose.
J'ai erré sur les forums du langage C parce que j'ai cru que HBITMAP était une vieille structure de l'ancien temps qui était toujours utilisée par les API que je trouvais ça et là sur le net, et je voulais quelques informations sur son utilisation.
Manifestement, je n'avais rien compris. On m'a parlé de Handlers, de Device Context, d'API Windows, etc. Et on m'a envoyé ici.
Apparemment, tout le monde sait ce qu'est un DC et comment l'utiliser. J'ai cherché dans la FAQ et dans les tutoriels le fonctionnement mais tout est toujours trop compliqué pour moi : il me faudrait un exemple basique.
(De plus, lorsque j'essaye de compiler des sources avec Visual C++ Express 2005, il la plupart des symboles ne sont pas reconnus, ou ne passent pas l'édition des liens ! Je deviens fou)
Tout ce que je demande, c'est juste un peu de documentation (le bon lien, celui que je cherche depuis trois heures en vain parce que je formule mal ma recherche google). Et si vous pouviez répondre simplement à ces quelques questions, cela m'aiderait à comprendre qui je suis, où je vais et pourquoi :
- Qu'est-ce qu'un handler au sens API Windows ?
- Qu'est-ce que le Device Context et à quoi sert-il ?
- Est-ce du C ou bien du C++ ? Si il s'agit de C++, alors pourquoi est-ce qu'on manipule des données "typedef struct" et non pas des classes ?
- Avez vous des exemples simples de code dont je pourrais m'inspirer pour commencer ?
Comprenez bien que mon problème, c'est que je n'en ai jamais entendu parlé auparavant et tout ce que je trouve dans ce forum ou ailleurs s'adresse à des gens qui ont déjà un peu pratiqué et connaissent la logique : c'est ce qui me manque ...
P.S. : je suis nouveau sur ce site, j'imagine que les ressources existent mais je ne sais pas comment les trouver.
MERCI !![]()
En vous remerciant et désolé de vous poser ces questions de base sans avoir pu trouver les réponses par moi-même.
Partager