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
我想找一個可以做到這一點的第三方庫。 –