Анимированные GIF и TDrawgrid в Delphi 2007



Я могу нарисовать изображение, используя что-то вроде кода ниже:



ACanvas.Draw(ARect.Left+16, ARect.Top+4, imgGIF.Picture.Graphic )


Теперь gif для этого компонента imgGIF загружается через



  GIF := TGifImage.Create;
GIF.LoadFromFile('pathtogifprocessing.gif');
GIF.Animate := True;
imgGIF.Picture.Graphic.Assign(GIF);


Я устанавливаю



GIFImageDefaultAnimate := True;
GIFImageDefaultTransparent := True;


Среда Delphi 2007, использующая TGifImage, который поставляется с DVD Delphi 2007.
Возможно ли это вообще? Чтобы отобразить анимированный GIF на ячейке TDrawgrid?



Я не думаю, что это с холста.draw-это только рисование изображения, а не вставка компонента в ячейку-так далеко, как Я могу понять,это только рисование твердого изображения на gif.

571   1  

1 ответ:

Когда TGIFImage.Animate установлено в True, вызов Canvas.Draw() отобразит текущий кадр анимации. Когда TGIFImage помещается внутрь TImage, TImage использует событие TGraphic.OnChange для автоматического перерисовывания последнего кадра во время выполнения анимации. Чтобы сделать то же самое с TDrawGrid, вам придется периодически вызывать Canvas.Draw(), например, в таймере, интервал которого установлен на значение свойства TGIFImage.FrameDelay. В противном случае загрузите GIF-изображение в отдельный экземпляр TGIFImage для использования TDrawGrid, чтобы вы могли использовать Событие TGraphic.OnChange.

Comments

    Ничего не найдено.