;
; ------------------------------------------------------------
;
; PureBasic - ImagePlugin GIF Viewer example file
;
; (c) Fantaisie Software
;
; ------------------------------------------------------------
;
; Включаем GIF декодер
UseGIFImageDecoder()
; Загружаем GIF файл
If LoadImage(0, #PB_Compiler_Home+"Examples/Sources/Data/PureBasicLogo.gif")
OpenWindow(0, 100, 100, ImageWidth(0), ImageHeight(0), "GIF просмотрщик")
CanvasGadget(0, 0, 0, ImageWidth(0), ImageHeight(0))
; Добавить таймер для анимации GIF, сразу начинает отображать первый кадр без задержки
AddWindowTimer(0, 0, 1)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Timer
SetImageFrame(0, Frame)
; Каждый кадр GIF может иметь свою собственную задержку, поэтому измените таймер соответственно
;
RemoveWindowTimer(0, 0)
AddWindowTimer(0, 0, GetImageFrameDelay(0))
If StartDrawing(CanvasOutput(0))
DrawImage(ImageID(0), 0, 0)
StopDrawing()
EndIf
;Переход к следующему кадру
Frame+1
If Frame >= ImageFrameCount(0) ; Переход к первому кадру для воспроизведения в цикле
Frame = 0
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
Else
Debug "Невозможно загрузить файл: " + Filename$
EndIf