BMP FILE DEPUIS HDC EN PUR API (WIN32)

Utilisateur anonyme - 28 juil. 2003 à 20:46
espritlune Messages postés 3 Date d'inscription vendredi 12 septembre 2008 Statut Membre Dernière intervention 21 mars 2009 - 26 sept. 2008 à 01:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11128-bmp-file-depuis-hdc-en-pur-api-win32

espritlune Messages postés 3 Date d'inscription vendredi 12 septembre 2008 Statut Membre Dernière intervention 21 mars 2009
26 sept. 2008 à 01:13
Bonjour, Je suis tombé sur ce code qui me semble etre exactement ce que je cherche. Court et efficace, mais voila je ne suis pas tres doué et je commence le C... et pas vraiment le C++
- Mon premier problème pour compiler le Zip est de trouver les include a mettre. je pense les avoir trouvé mais je suis preneur pour pas en mettre deux tonne!
-Mon deuxieme probleme si on considere que mes include sont bonne est a la ligne 50 mon compilateur me dis que "pszflname pose un probleme... le quel... j'en ai aucune idée.
- et ma derniere question est que je ne n'ai pas trouvé la structure des type de variable car je ne cherche pas vraiment a cree un BMP mais d'utiliser directement les info (X,Y,R,G,B) pour une utilisation direct je suis sure que ce code a la solution mais mon niveau est trop faible alors si qqun veut bien m'en faire une petite explication de texte je suis preneur. k'ai deja cherché les fonction une a une dans msdn. j'avance mais un coup de pouce n'est pas de refus. Merci a tous!
forthomme Messages postés 9 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 6 juillet 2006
26 sept. 2007 à 12:56
Une excellente base qui a l'avantage de fonctionner sans MFC ou autre diablerie dépendante du compilateur...
bloobird0 Messages postés 30 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 23 octobre 2008
2 juin 2005 à 17:00
le GetWindowRect pour avoir un rect dont on tire la taille ne s'applique pas à mon cas car je ne veut sauvegarder que le contenu du dc qui ne fait qu'une petite partie de la fenêtre et non la fenêtre entière...

je continue à investiguer...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 juin 2005 à 16:38
Regarde ici si te convient mieux:
http://www.cppfrance.com/code.aspx?id=11133
bloobird0 Messages postés 30 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 23 octobre 2008
2 juin 2005 à 16:25
salut, pas mal du tout!

Le seul hic que je rencontre est que ca me sauve un bitmap ayant la taille de mon ecran et non la taille du hdc que je donne :-(
entracyte Messages postés 32 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 14 juillet 2005
6 nov. 2004 à 00:16
Bon,je crois que je vais l'ouvrir, puis recupere certaine partie, puis reconstruire les headers, etc...
entracyte Messages postés 32 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 14 juillet 2005
6 nov. 2004 à 00:07
Bonjour, j'utilise ta source pour faire un prog a la vnc mais en programmation hybride, vb sert au transfert, et une dll cpp sert a la recupération puis a l'encodage en jpg de l'image. Mais pour optimiser la bande passante, j'aimerai decouper mon bmp du debut en une centaine de petite images et faire un test par rapport aux ancienne images pour savoir si elles ont changé !
Il me faudra donc decouper puis ensuite recoller l'image, mais mes connaissances sur les images sont surtout en basic et pas en cpp, ça me bloque, alors si quelqu'un a une solution simple, qui recupere par exemple qu'une petite partie de l'ecran ce serai deja pas mal.
Merci d'avance et si ça vous embete trop, vous faites pas chier !
cs_olecossois Messages postés 18 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 12 mars 2008
10 août 2004 à 00:18
Trop fort, je prends, je cherche ça depuis un moment, et je ne trouvais rien, merci vraiment ça marche bien.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 août 2003 à 17:54
C'est a toi d'effectuer la compression RLE et ensuite tu renseignes le champ.
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
31 août 2003 à 17:42
Oui, vraiment génial.
Le BMP prend beaucoup de place, je voudrai diminuer le nombre de couleur où la résolution, où carrément passer en JPG, GIF, TGA, etc.

J’ai modifié cette ligne :
if(dwBPP <8) dwNumColors 256; else dwNumColors = 0;

par dwNumColors 16; or dwNumColors 8;
Et je ne constate aucun changement

J’ai essayé aussi essayé de remplacer :
infoheader.biCompression = BI_RGB;
avec BI_RGB, BI_RLE8, BI_RLE4, BI_BITFIELDS
Et je constate que ça ne fonctionne pas

bmfh.bfType = 0x4d42;
Je pence que c’est pour indiquer un fichier BMP,
donc peut ton diminuer la résolution par là ?

Bref, je cherche un moyen pour avoir un petit fichier
Merci,
Utilisateur anonyme
28 juil. 2003 à 20:46
genial :)