UDF > WinAPIEx > GDI > Colors >


_WinAPI_ColorAdjustLuma

Modifie la luminance d'une valeur RGB

#include <WinAPIGdi.au3>
_WinAPI_ColorAdjustLuma ( $iRGB, $iPercent [, $bScale = True] )

Paramètres

$iRGB La valeur RGB initiale.
$iPercent La luminance de la plage totale, en pour cent, ou luminance absolue.
$bScale [optionnel] Spécifie comment utiliser le paramètre $iPercent, les valeurs valides sont:
    True - $iPercent spécifie de combien augmenter ou diminuer la luminance actuelle, $iPercent peut varier de -1000 à 1000.
    False - $iPercent spécifie la luminance absolue, $iPercent peut varier de 0 à 1000. Les valeurs de luminance disponibles vont de 0 à un maximum. Si la valeur demandée est négative ou dépasse la valeur maximale, la luminance sera mise à zéro ou à la valeur maximale, respectivement.
La valeur par défaut est True.

Valeur de retour

Retourne la valeur RGB modifiée.

Voir aussi

Consultez ColorAdjustLuma dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>

Opt('TrayAutoPause', 0)

; Crée une GUI
Global $g_hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 300, 327)
GUISetBkColor(0x808080)
Global $g_idGraphic = GUICtrlCreateGraphic(0, 0, 150, 300)
GUICtrlSetBkColor(-1, 0x808080)
GUICtrlCreateLabel('', 0, 300, 303, 2, $SS_ETCHEDHORZ)
Global $g_idLabel = GUICtrlCreateLabel('0%', 30, 132, 90, 37, $SS_CENTER)
GUICtrlSetFont(-1, 24, 800, 0, 'Arial')
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $g_idSlider = GUICtrlCreateSlider(0, 302, 300, 25, BitOR($TBS_BOTH, $TBS_NOTICKS))
Global $g_hSlider = GUICtrlGetHandle(-1)
GUICtrlSetLimit(-1, 50, -50)
GUICtrlSetData(-1, 0)

; Inscrit le message WM_HSCROLL pour un défilement en direct et affiche la GUI
GUIRegisterMsg($WM_HSCROLL, 'WM_HSCROLL')
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func WM_HSCROLL($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg, $wParam

    Local $iPercent
    If $hWnd = $g_hForm Then
        If $lParam = $g_hSlider Then
            $iPercent = GUICtrlRead($g_idSlider)
            GUICtrlSetBkColor($g_idGraphic, _WinAPI_ColorAdjustLuma(0x808080, $iPercent))
            GUICtrlSetData($g_idLabel, $iPercent & '%')
        EndIf
    EndIf
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_HSCROLL