3
我需要从动画GIF文件中获取第一帧。这很容易通过在TGIFImage对象加载文件来实现:从一个大的GIF(在最佳时间)检索第一帧
GIF.LoadFromFile(FileName)
BMP.Assign(GIF)
的问题是,(大)动画GIF文件这需要一段时间......我的电脑需要12个秒的RAM来了很多加载一个50MB的文件。
我希望能够将文件传递给TCustomGIFRenderer并提取第一帧。但TCustomGIFRenderer只能在'live'(在内存中)GIF图像上运行。
是否有可能只加载第一帧而不加载整个文件?
如果您可以实现自己的'TCustomGIFRenderer'变体读取文件流,我不会感到惊讶。 –
也许我应该为TGIFImageList写一个'hack'类,其中我重写了LoadFromStream(Stream:TStream)并在读取第一帧后立即停止从GIF文件读取数据? – Ampere
我想找一个可以做到这一点的第三方库。 –