Cr�e un handle sur un HBitmap � partir d'un objet bitmap GDI+
#include <GDIPlus.au3>
_GDIPlus_BitmapCreateHBITMAPFromBitmap ( $hBitmap [, $iARGB = 0xFF000000] )
$hBitmap | Handle de l'objet bitmap GDI+ |
$iARGB | [optionnel] Couleur de fond de l'objet bitmap |
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*). |
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
Consultez GdipCreateHBITMAPFromBitmap dans la Librairie MSDN.
#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