создание gif анимировало файл в Дельфи 2009?

Другой вариант - использовать DOCUMENT из @ angular / platform-browser.

import {DOCUMENT} from '@angular/platform-browser';

constructor(@Inject(DOCUMENT) private document: Document) {
    let url = document.location.protocol +'//'+ document.location.hostname + ':my_port' );
}
5
задан Ken White 30 May 2009 в 19:37
поделиться

4 ответа

Андерс Меландер, написавший исходный TGIFImage , имеет следующий ответ .

Вам необходимо добавить блок расширения «Netscape Loop» к первому кадру вашего GIF. Блок цикла должен быть первым расширением, которое вы определяете для кадра, иначе он не будет работать.

См. Демонстрацию Animate , чтобы узнать, как создать анимированный GIF.

Вот пример фрагмент кода из демонстрации Animate :

// Add the source image to the animation
Result := GIF.Add(Source);

// Netscape Loop extension must be the first extension in the first frame!
if (GIF.Images.Count = 1) then
begin
  LoopExt := TGIFAppExtNSLoop.Create(Result);
  LoopExt.Loops := 0; // Number of loops (0 = forever)
end;

Вы можете просмотреть документацию TGIFImage здесь .

6
ответ дан 14 December 2019 в 04:46
поделиться

Вы можете увидеть пример создания анимированного GIF на моей домашней странице www.tolderlund.eu/delphi/ Существует также исходный TGIFImage для Delphi 5 и для Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009.

1
ответ дан 14 December 2019 в 04:46
поделиться

Нужен хотя бы таймер и несколько методов устранения мерцания.

См. Пример в модуле rxAnimate.pas из RXLibrary. (доступен бесплатно. Исходные коды на SourceForge.net или http://www.dummzeuch.de/delphi/english.html ).

Также есть исходники для аналогичного компонента на JVCL.

-1
ответ дан 14 December 2019 в 04:46
поделиться
var Gif:TGifImage;
begin
    //Setting the delay for each frame
    TGIFGraphicControlExtension.Create(Gif.Add(image1.Picture.Bitmap)).Delay := 300;
    TGIFGraphicControlExtension.Create(Gif.Add(image2.Picture.Bitmap)).Delay := 300;
    TGIFGraphicControlExtension.Create(Gif.Add(image3.Picture.Bitmap)).Delay := 300;
    //Adding loop extension in the first frame (0 = forever)
    TGIFAppExtNSLoop.Create(Gif.Images.Frames[0]).Loops := 0;

    Gif.SaveToFile('gif.gif');
end;
2
ответ дан 14 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: