Crée un nouveau Bitmap en appliquant un effet spécifié à un Bitmap existant
#include <GDIPlus.au3>
_GDIPlus_BitmapCreateApplyEffect ( $hBitmap, $hEffect [, $tRECT = Null [, $tOutRECT = Null]] )
$hBitmap | Handle du bitmap auquel l'effet est appliqué. |
$hEffect | Handle de l'effet à appliquer. |
$tRECT | [optionnel] Structure $tagRECT qui définit la partie du bitmap d'entrée qui est utilisé. |
$tOutRECT | [optionnel] Structure $tagRECT qui reçoit la partie du bitmap d'entrée qui est utilisé. |
Succès: | Retourne le handle de l'objet Bitmap. |
Échec: | Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
@error: | -1 - GDIPlus.dll ne supporte pas cette fonction. 10 - Paramètres invalides. |
Lorsque vous en avez terminé avec l'objet Effect, appelez _GDIPlus_EffectDispose() pour libérer les ressources.
$tagRECT, _GDIPlus_BitmapCreateApplyEffectEx, _GDIPlus_EffectCreate
Consultez GdipBitmapCreateApplyEffect dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> _Example() Func _Example() If Not _GDIPlus_Startup() Then MsgBox($MB_SYSTEMMODAL, "ERROR", "GDIPlus.dll v1.1 not available") Return EndIf Local $sFile = FileOpenDialog("Choisissez une image", "", "Images (*.bmp;*.png;*.jpg;*.gif;*.tif)") If @error Or Not FileExists($sFile) Then Return Local $hImage = _GDIPlus_ImageLoadFromFile($sFile) Local $hEffect = _GDIPlus_EffectCreateBlur() Local $tRect = DllStructCreate($tagRECT) Local $hBitmap = _GDIPlus_BitmapCreateApplyEffect($hImage, $hEffect, Null, $tRect) Local $iBmpW = $tRect.Right - $tRect.Left Local $iBmpH = $tRect.Bottom - $tRect.Top Local $iWidth = 600 Local $iHeight = $iBmpH * 600 / $iBmpW Local $hGui = GUICreate("GDI+ v1.1", $iWidth, $iHeight) Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui) GUISetState(@SW_SHOW) _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, $iWidth, $iHeight) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE _GDIPlus_EffectDispose($hEffect) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_ImageDispose($hImage) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() EndFunc ;==>_Example