begin process at 2012 05 30 16:58:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Driver

 > 

Sauvegarder


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sauvegarder

samedi 18 novembre 2006 à 15:46:49 | Sauvegarder

Ombitious_Developper

Salut:

Etant donné un HBITMAP comment le sauvegarder dans un fichier?
samedi 18 novembre 2006 à 17:06:08 | Re : Sauvegarder

LordBob

Membre Club
Réponse acceptée !
j'ai fait la recherche sur google et ca ne m'a meme pas prit une minute pour trouver la fonction, la prochaine fois cherche un peu plus :)

void  SaveBitmap(char *szFilename,HBITMAP hBitmap)

{

      HDC        hdc=NULL;

      FILE*      fp=NULL;

      LPVOID     pBuf=NULL;

      BITMAPINFO bmpInfo;

      BITMAPFILEHEADER  bmpFileHeader; 

      do{ 

            hdc=GetDC(NULL);

            ZeroMemory(&bmpInfo,sizeof(BITMAPINFO));

            bmpInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);

            GetDIBits(hdc,hBitmap,0,0,NULL,&bmpInfo,DIB_RGB_COLORS); 

            if(bmpInfo.bmiHeader.biSizeImage<=0)

bmpInfo.bmiHeader.biSizeImage=bmpInfo.bmiHeader.biWidth*abs(bmpInfo.bmiHeader.biHeight)*(bmpInfo.bmiHeader.biBitCount+7)/8;

            if((pBuf = malloc(bmpInfo.bmiHeader.biSizeImage))==NULL)

            {

                  MessageBox( NULL, "Unable to Allocate Bitmap Memory", "Error", MB_OK|MB_ICONERROR);

                  break;

            }           

            bmpInfo.bmiHeader.biCompression=BI_RGB;

            GetDIBits(hdc,hBitmap,0,bmpInfo.bmiHeader.biHeight,pBuf, &bmpInfo, DIB_RGB_COLORS);       

            if((fp = fopen(szFilename,"wb"))==NULL)

            {

                  MessageBox( NULL, "Unable to Create Bitmap File", "Error", MB_OK|MB_ICONERROR);

                  break;

            } 

            bmpFileHeader.bfReserved1=0;

            bmpFileHeader.bfReserved2=0;

            bmpFileHeader.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+bmpInfo.bmiHeader.biSizeImage;

            bmpFileHeader.bfType='MB';

            bmpFileHeader.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER); 

            fwrite(&bmpFileHeader,sizeof(BITMAPFILEHEADER),1,fp);

            fwrite(&bmpInfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);

            fwrite(pBuf,bmpInfo.bmiHeader.biSizeImage,1,fp); 

      }while(false); 

            if(hdc)     ReleaseDC(NULL,hdc); 

            if(pBuf)    free(pBuf); 

            if(fp)      fclose(fp);

}

Bob...

"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
samedi 18 novembre 2006 à 17:09:20 | Re : Sauvegarder

yoyo269

Membre Club
Réponse acceptée !
Salut Ombitious !

Vas voir dans ma source tracé de courbes :
Tracé de courbes à partir d'un fichier texte (GDI)

Tu trouveras ton bonheur dans le fichier "Bitmap.h".

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

samedi 18 novembre 2006 à 17:12:34 | Re : Sauvegarder

yoyo269

Membre Club
Ah mer.. ! Je suis pas prems ! lol
Dans ce que je t'ai dit il y a des commentaires par contre, tu as le choix maintenant.
C'est y pas beau ça ?

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

samedi 18 novembre 2006 à 18:01:14 | Re : Sauvegarder

Ombitious_Developper

Salut:

Merci LordBob, yoyo269 
les deux codes sont performants.
samedi 18 novembre 2006 à 18:05:39 | Re : Sauvegarder

yoyo269

Membre Club
Pas de quoi !

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"



Cette discussion est classée dans : sauvegarder


Répondre à ce message

Sujets en rapport avec ce message

charger / sauvegarder [ par petronius ] Bonsoar tout le monde, je cherche comment faire pour utiliser le menu charger et sauvegarder de windows dans le menu de mon prog (non je ne suis pas u Comment sauvegarder dans un fichier [ par AryCooL ] Bonjour tout le monde,Je suis débutant et je voudrais savoir s'il est possible de sauvegarder une classe dans un fichier (en CPP).Si oui comment fait- utlité des registres [ par glipper ] Bonjour,J'aimerais savoir dans quel genre de cas il est utile d'utiliser la base des registres. Peut-on creer des clés juste afin qu'elles contiennent Sauvegarder le contenu d'un Picture [ par ToasTy62 ] chalut tlm !bon g un pb ki commence a me triturer serieusement...pr commencer je bosse ac Win32(non pas MFC, pis si je precise pas on va me poster 10m source de l'option de sauvegarde!!! [ par othland ] j'ai crée une fenetre (avec VC++) qui comporte plusieurs edits! aprés voir remplir ces champs là, je veux sauvegarder ce qui a été ecrit, je sais comm sauvegarder image à partir d'un HDC [ par aujeanfr ] Bonjour,Je souhaite sauvegarder des images Bitmap sur disque après un traitement d'image avec setpixel();Comment fait-on pour creer une bitmap à parti Sauvegarder des infos [ par progmaster ] Bonjours,je voudrais savoir comment je fais pour sauvegarder des infos. Je m'explique je construit un annuaire et je voudrais sauvegarder les noms et y a t'il un moyen simple de sauvegarder un HICON [ par youpiyoyo ] voila le titre est ma questionmerci d'avanceyoupi SAUVEGARDER les commandes PROMPT ? [ par cdesroch ] Salut, est-il possible de recuperer le resultat de ma commande prompt et de le sauvegarder dans un fichier txt ?Et si ca ne se fait pas en language C/ comment sauvegarder une matrice sous fichier et la racharger qu'on veut?? [ par malbb2000 ] salut tt le monde j'aimerais bien que qqn puisse m'aider sur le sujet que j'ai posais d'avance merci en core


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales