Active / désactive la correction gamma sur le rendu d'un pinceau à dégradé linéaire
#include <GDIPlus.au3>
_GDIPlus_LineBrushSetGammaCorrection ( $hLineGradientBrush [, $bUseGammaCorrection = True] )
| $hLineGradientBrush | Handle de l'objet LinearGradientBrush |
| $bUseGammaCorrection | [optionnel] Si True, la correction gamma est activée, sinon elle est désactivée |
| Succès: | Retourne True. |
| Échec: | Retourne False et définit @error <> 0, @extended contient le code erreur ($GPID_ERR*). |
Par défaut, la correction gamma est désactivée lors de la création d'un objet LinearGradientBrush.
La correction gamma est souvent utilisée pour adapter l'intensité du contraste du dégradé avec la capacité de l'oeil humain à percevoir les changements d'intensité.
Consultez GdipSetLineGammaCorrection dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() _GDIPlus_Startup() ; Initialise GDI+ Local Const $iWidth = 600, $iHeight = 300, $iBgColor = 0x303030 ; $iBGColor est au format RRGGBB Local $hGUI = GUICreate("GDI+ example", $iWidth, $iHeight) ; Crée une fenêtre de test GUISetBkColor($iBgColor, $hGUI) ; Définit la couleur de fond de la GUI GUISetState(@SW_SHOW) Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet Graphics à partir du handle de la fenêtre _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ; Définit pour l'objet graphique la qualité de rendu antialiasing Local $hBrush = _GDIPlus_LineBrushCreate(0, 0, 0, 280, 0xFFFFFF00, 0xFF4020FF, 1) ; Crée un pinceau à dégradé linéaire renversé _GDIPlus_GraphicsFillRect($hGraphics, 10, 10, 280, 280, $hBrush) ; Dessine le rectangle coloré _GDIPlus_LineBrushSetGammaCorrection($hBrush) _GDIPlus_GraphicsFillRect($hGraphics, 310, 10, 280, 280, $hBrush) ; Dessine le rectangle coloré _GDIPlus_GraphicsDrawString($hGraphics, "w/o gamma correction", 14, 14) _GDIPlus_GraphicsDrawString($hGraphics, "w/ gamma correction", 314, 14) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ; Nettoie les ressources GDI+ _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example