[2D drawing] des cercles (pour brush 2D ou autres)
Publié : mar. 10/juil./2012 17:57
salut
voici un petit code très simple, qui permet de tester les dégradé et la création de cercles particuliers.
J'ai utilisé ça sur mon logiciel Animatoon, pour le Module de Brush :
Si vous faites des découvertes avec ça, n'hésitez pas à poster 
voici un petit code très simple, qui permet de tester les dégradé et la création de cercles particuliers.
J'ai utilisé ça sur mon logiciel Animatoon, pour le Module de Brush :
Code : Tout sélectionner
Enumeration ; gadget
#Gadget_image
#Gadget_GradientX
#Gadget_GradientX2
#Gadget_GradientX3
#Gadget_Radius
EndEnumeration
Global gradientX.d=0.1, gradientX2.d=0.1, radius.w = 800,gradientX3.d = 0.5
Macro Update()
If StartDrawing(ImageOutput(0))
Box(0, 0, 400, 200, $FFFFFF)
DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_AlphaBlend)
;BackColor(RGBA(0,0,0,255))
GradientColor(gradientX, 0)
GradientColor(gradientX3, RGBA(0,0,0,125))
GradientColor(gradientX2, RGBA(0,0,0,0))
;FrontColor(RGBA(0,0,0,0))
CircularGradient(100, 100, radius)
Box(0,0,200,200)
StopDrawing()
EndIf
Debug gradientX2
EndMacro
If OpenWindow(0, 0, 0, 400, 200, "Brush Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateImage(0, 200, 200)
Update()
ImageGadget(#Gadget_image, 0, 0, 400, 200, ImageID(0))
EndIf
x = 30
TrackBarGadget(#Gadget_GradientX,220,x,150,20,1,100)
SetGadgetState(#Gadget_GradientX,gradientX *100)
TrackBarGadget(#Gadget_GradientX2,220,x*2,150,20,1,100)
SetGadgetState(#Gadget_GradientX2,gradientX2 *100)
TrackBarGadget(#Gadget_GradientX3,220,x*3,150,20,1,100)
SetGadgetState(#Gadget_GradientX3,gradientX3 *100)
TrackBarGadget(#Gadget_Radius,220,x*4,150,20,1,1000)
SetGadgetState(#Gadget_Radius,radius)
Repeat
Event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case #Gadget_GradientX
gradientX= GetGadgetState(#Gadget_GradientX)/100
update()
SetGadgetState(#Gadget_image,ImageID(0))
Case #Gadget_GradientX2
gradientX2 = GetGadgetState(#Gadget_GradientX2)/100
update()
SetGadgetState(#Gadget_image,ImageID(0))
Case #Gadget_GradientX3
gradientX3 = GetGadgetState(#Gadget_GradientX3)/100
update()
SetGadgetState(#Gadget_image,ImageID(0))
Case #Gadget_Radius
radius = GetGadgetState(#Gadget_Radius)
update()
SetGadgetState(#Gadget_image,ImageID(0))
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
