Allez, parceque je suis content que tout ca marche bien, un autre petit effet en bonus :

A utiliser avec le Barbouille de Dobro, ou autre logiciel graphique, pour l'effet crayonné.
Ca me rappelle certaines intros de séries (genre Un gars une fille ou... merde je sais plus, mais y'en a d'autres), et ca fait assez sympa je trouve...
L'étape suivante : crééer une vidéo automatiquement à partir de ce qui est affiché sur la fenêtre, et voila un éditeur de stopmotion...
Code : Tout sélectionner
UsePNGImageDecoder()
UseJPEGImageDecoder()
Enumeration Objects
#Window
#Canvas
#Txt_RandomOrder
#Txt_RandomPos
#Check_RandomOrder
#Check_RandomPos
#Btn_Submit
EndEnumeration
Enumeration Constants
#MainWdth = 800
#MainHght = 600
#Delay = 100
#RandomDelta = 5
EndEnumeration
Files$ = OpenFileRequester("Choisissez des images...","","*.*",0,#PB_Requester_MultiSelection)
NewList Files.s()
NewList Images()
AddElement(Files())
Files() = Files$
While Files$
Files$ = NextSelectedFileName()
AddElement(Files())
Files() = Files$
Wend
LastElement(Files())
DeleteElement(Files())
ForEach Files()
Debug Files()
AddElement(Images())
Images() = LoadImage(#PB_Any, Files())
Next
Debug "Terminé !!"
Procedure Random2(Min, Max)
ProcedureReturn Random(Max - Min) + Min
EndProcedure
OpenWindow(#Window, 0, 0, #MainWdth, #MainHght, "Effet étrange n°31.5-HDK-THRM - @SH452/SH_root/serv.us.sher", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CanvasGadget(#Canvas, 0, 0, #MainWdth, #MainHght)
AddWindowTimer(#Window, #Delay, #Delay)
Repeat
event = WaitWindowEvent(100)
If event = #PB_Event_Timer And EventTimer() = #Delay
StartDrawing(CanvasOutput(#Canvas))
DrawImage(ImageID(Images()),Random2(-#RandomDelta,#RandomDelta),Random2(-#RandomDelta,#RandomDelta))
StopDrawing()
If Not NextElement(Images())
FirstElement(Images())
EndIf
EndIf
Until event = #PB_Event_CloseWindow