; ; ------------------------------------------------------------ ; ; 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