
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)