# Logiciels > Solutions d'entreprise > BPM >  StretchDIBits et sauvegarde image affiche en BPM

## chris_wafer_2001

Bonjour,

J'utilise la fonction StretchDIBits pour afficher un buffer (d'images)  l'cran.

J'aimerais en mme temps sauvegarder l'image que je vais afficher dans un fichier BMP.

Existe-t-il une fonction avec les mmes paramtres que la fonction StretchDIBits pour sauvegarder l'image dans un fichier BMP?

Si ce n'est pas le cas, comment feriez-vous?

Chris.

----------


## Mdinoc

ma connaissance, il n'y a pas de fonction toute faite pour enregistrer. (Sauf peut-tre dans GDI+)

Mais de base, Il y a ce lien sur MSDN:
Storing an Image

J'avais fait un fichier source qui encapsulait a "un peu mieux", mais en fait, c'tait horrible et il faut que je le refasse compltement. Sinon, je te l'aurais pass...

----------


## farscape

salut ,
a partir de visual .net on dispose de la classe CImage qui permet la sauvegarde .
tu peux attacher ton bitmap a un objet CImage et le sauvegarder ensuite avec la fonction Save:



> CImage::Save 
> HRESULT Save(
>    LPCTSTR pszFileName,
>    REFGUID guidFileType= GUID_NULL
> ) const 
> guidFileType
> The file type to save the image as. Can be one of the following:
> 
> ImageFormatBMP   An uncompressed bitmap image.
> ...


  ::D:

----------


## chris_wafer_2001

Je n'utilise Visual .net mais juste Visual C++.

Tu aurais pas une autre ide?

----------


## chris_wafer_2001

> ma connaissance, il n'y a pas de fonction toute faite pour enregistrer. (Sauf peut-tre dans GDI+)
> 
> Mais de base, Il y a ce lien sur MSDN:
> Storing an Image
> 
> J'avais fait un fichier source qui encapsulait a "un peu mieux", mais en fait, c'tait horrible et il faut que je le refasse compltement. Sinon, je te l'aurais pass...


Tu pourrais peut-tre me filer le fichier source?
J'arriverais peut-tre  me dbrouiller?


Quelqu'un d'autres auraient des ides aussi?

----------


## Mdinoc

www.isty-info.uvsq.fr/~fbenoit/Bitmap.c

Suite  une thorie douteuse dans laquelle je me disais "Autant avoir le moins possible de fichiers  grer", ce fichier source est galement le header qui dclare ses fonctions. On peut l'inclure ainsi:


```

```

Les fonctions qui devraient t'intresser (coup de bol, ce sont celles qui sont le moins " refaire", copies ou inspires directement du lien) sont:
*CreateBitmapInfoStruct()* : Cre une BITMAPINFO  partir d'un bitmap EN MMOIRE (pas directement celui d'une fentre, car GetObject() chouera)
*CreateBMPFile()* : Cre un fichier bmp du format de l'image (Si le bitmap est cr avec CreateCompatibleBitmap(), ce sera typiquement 16 bits ou 32 bits sous WinXP: dpend de la config d'affichage)
*Create24BitBMPFile()* : Cre un fichier bmp, toujours au format 24 bits, quel que soit le format d'origine de l'image
*Create8BitBMPFile()* : Cre un fichier bmp, toujours au format 256 couleurs. La conversion en 256 est effectue par Windows, et sous WinXP, a marche pas trop mal (c'est mieux que paint, en tout cas)

Les autres, mieux vaut ne pas trop y regarder...

----------

