UDF > WinAPIEx > GDI > BitMaps >


_WinAPI_RadialGradientFill

Remplit avec un d�grad� radial

#include <WinAPIGdi.au3>
_WinAPI_RadialGradientFill ( $hDC, $iX, $iY, $iRadius, $iRGB1, $iRGB2 [, $fAngleStart = 0 [, $fAngleEnd = 360 [, $fStep = 5]]] )

Param�tres

$hDC Handle du contexte de p�riph�rique.
$iX La coordonn�e x du point central, en unit�s logiques.
$iY La coordonn�e y du point central, en unit�s logiques.
$iRadius Le rayon du cercle de remplissage du d�grad�.
$iRGB1 La couleur au point central.
$iRGB2 La couleur sur le bord du cercle.
$fAngleStart [optionnel] L'angle � partir duquel il faut commencer le remplissage, en degr�s. Par d�faut, 0�.
$fAngleEnd [optionnel] L'angle auquel il faut terminer le remplissage, en degr�s. Par d�faut, 360�.
$fStep [optionnel] Le pas de remplissage du d�grad�, en degr�s. Pour la plus grande valeur de ce param�tre, le d�grad� sera le meilleur, mais le traitement prendra plus de temps, et vice versa. Par d�faut, 5.

Valeur de retour

Succ�s: Retourne 1.
�chec: Retourne 0.

Remarque

Cette fonction ne remplit pas en d�grad� avec la transparence, et n'utilise pas l'anticr�nelage.

Exemple

#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <StaticConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>

; Cr�e une GUI
Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 400, 400)
Local $idPic = GUICtrlCreatePic('', 0, 0, 400, 400)
Local $hPic = GUICtrlGetHandle($idPic)

; Cr�e un d�grad�
Local $hDC = _WinAPI_GetDC($hPic)
Local $hDestDC = _WinAPI_CreateCompatibleDC($hDC)
Local $hBitmap = _WinAPI_CreateCompatibleBitmapEx($hDC, 400, 400, 0xFFFFFF)
Local $hDestSv = _WinAPI_SelectObject($hDestDC, $hBitmap)
For $i = 0 To 315 Step 45
    _WinAPI_RadialGradientFill($hDestDC, 200, 200, 180, Random(0, 0xFFFFFF, 1), 0xFFFFFF, $i, $i + 45)
Next
_WinAPI_ReleaseDC($hPic, $hDC)
_WinAPI_SelectObject($hDestDC, $hDestSv)
_WinAPI_DeleteDC($hDestDC)

; D�finit le d�grad� dans le contr�le Picture
_SendMessage($hPic, $STM_SETIMAGE, 0, $hBitmap)
Local $hObj = _SendMessage($hPic, $STM_GETIMAGE)
If $hObj <> $hBitmap Then
    _WinAPI_DeleteObject($hBitmap)
EndIf

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE