UDF > GDIPlus > Bitmap >


_GDIPlus_BitmapCreateHBITMAPFromBitmap

Cr�e un handle sur un HBitmap � partir d'un objet bitmap GDI+

#include <GDIPlus.au3>
_GDIPlus_BitmapCreateHBITMAPFromBitmap ( $hBitmap [, $iARGB = 0xFF000000] )

Param�tres

$hBitmap Handle de l'objet bitmap GDI+
$iARGB [optionnel] Couleur de fond de l'objet bitmap

Valeur de retour

Succ�s: Retourne le handle du HBITMAP (bitmap GDI)
�chec: Retourne 0 et d�finit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*).

Remarques

Vous �tes responsable de la suppression du bitmap GDI et de la palette GDI mais vous ne devez pas les supprimer tant que le bitmap GDI+ n'est pas d�truit. Ne passez pas � cette fonction GDI+ un bitmap GDI ou une palette GDI qui est actuellement s�lectionn� dans un contexte de p�riph�rique.
Lorsque vous en avez termin� avec l'objet bitmap, appelez la fonction _WinAPI_DeleteObject pour lib�rer les ressources

En relation

_WinAPI_DeleteObject

Voir aussi

Consultez GdipCreateHBITMAPFromBitmap dans la Librairie MSDN.

Exemple

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
#include <WinAPIHObj.au3>

Example()

Func Example()
    Local $hBMP, $hImage, $iX, $iY, $hClone

    ; Initialise la biblioth�que GDI+
    _GDIPlus_Startup()

    ; Capture un bitmap 32 bits
    $hBMP = _ScreenCapture_Capture("")
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBMP)

    ; Cr�e un clone 24 bits 
    $iX = _GDIPlus_ImageGetWidth($hImage)
    $iY = _GDIPlus_ImageGetHeight($hImage)
    $hClone = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

    ; Enregistre le bitmap dans un fichier
    _GDIPlus_ImageSaveToFile($hClone, @TempDir & "\GDIPlus_Image.bmp")

    ; Nettoie les ressources
    _GDIPlus_BitmapDispose($hClone)
    _GDIPlus_BitmapDispose($hImage)
    _WinAPI_DeleteObject($hBMP)

    ; Charge l'image
    $hImage = _GDIPlus_ImageLoadFromFile(@TempDir & "\GDIPlus_Image.bmp")
    $hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)

    ; Enregistre le bitmap dans un fichier
    _ScreenCapture_SaveImage(@TempDir & "\Image.bmp", $hBMP, True) ; True - > d�truit $hBMP

    ; Nettoie les ressources
    _GDIPlus_ImageDispose($hImage)

    ; Arr�te la biblioth�que GDI +
    _GDIPlus_Shutdown()
EndFunc   ;==>Example