2DDrawing Transparence en direct
Publié : mer. 01/janv./2020 18:44
Bonsoirs la communauté
Quelqu'un peut il m'expliquer pourquoi ce morceaux de code ne fonctionne pas?, j’essaie de faire varier la transparence d'un box sur une image quelconque!
je n'y arrive vraiment pas à trouver la solution!
merci d'avance)
et bonne année 2020)

Quelqu'un peut il m'expliquer pourquoi ce morceaux de code ne fonctionne pas?, j’essaie de faire varier la transparence d'un box sur une image quelconque!
Code : Tout sélectionner
UseJPEGImageDecoder()
UsePNGImageDecoder()
Global Window_1
Global Image_0, TrackBar_0, Button_0, string_0
CreateImage(1,440,290,32,$0000FF)
Procedure OpenWindow_1(x = 0, y = 0, width = 600, height = 400)
Window_1 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
Image_0 = ImageGadget(#PB_Any, 70, 50, 440, 290, 0, #PB_Image_Border)
TrackBar_0 = TrackBarGadget(#PB_Any, 40, 350, 520, 20, 0, 255)
string_0 = TextGadget(#PB_Any,560,350,30,20,"255")
SetGadgetState(TrackBar_0,255)
Button_0 = ButtonGadget(#PB_Any, 10, 10, 40, 30, "Image")
EndProcedure
Procedure Window_1_Events(event)
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case Button_0
pic$ = OpenFileRequester("Image indexe",pic$,"",0)
If LoadImage(0,pic$)
ResizeImage(0,440,290,#PB_Image_Smooth)
SetGadgetState(Image_0,ImageID(0))
Else
Debug "Erreur de chargement"
EndIf
EndSelect
Case #PB_Event_Timer
If EventTimer() = 1
If IsImage(0)
trs=GetGadgetState(TrackBar_0)
SetGadgetText(string_0,Str(trs))
StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawAlphaImage(ImageID(1),0,0,trs)
;Box(0,0,440,290,RGBA(255,0,0,))
StopDrawing()
SetGadgetState(Image_0,ImageID(0))
EndIf
EndIf
EndSelect
ProcedureReturn #True
EndProcedure
OpenWindow_1(Window_1,0,600,400)
AddWindowTimer(Window_1,1,125)
Repeat
Event = WaitWindowEvent()
Window_1_Events(Event)
Until Event = #PB_Event_CloseWindow
End
merci d'avance)
et bonne année 2020)