首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi TAnimate 組件播放無聲音 AVI 動畫:內建資源與外部檔案雙模式

     編輯:Delphi

Delphi TAnimate 組件專為播放無聲音的 AVI 動畫設計,常用於檔案複製、搜尋、下載等長時間操作的視覺回饋。它支援兩種來源:系統內建通用動畫與外部 AVI 檔案,使用極簡單。

模式一:使用系統內建通用動畫

Windows 提供數組預設 AVI 動畫(複製檔案、搜尋、刪除等),無需外部檔案即可直接使用。

設計階段設定

  1. 拖曳 TAnimate 到表單
  2. 設定 CommonAVI := aviCopyFile(或 aviFindFile、aviFindComputer 等)
  3. 在 FormCreate 中啟用:Animate1.Active := True

procedure TForm1.FormCreate(Sender: TObject);
begin
  Animate1.Active := True; // 立即開始播放循環動畫
end;

設計介面:TAnimate 組件 執行結果:播放複製檔案動畫

常用 CommonAVI 常數

常數動畫內容
aviCopyFile複製檔案(資料夾間飛紙)
aviFindFile搜尋檔案(放大鏡掃描)
aviFindComputer搜尋電腦(網路鄰居掃描)
aviRecycleFile回收桶刪除(丟入垃圾桶)
aviEmptyRecycle清空回收桶
aviDeleteFile刪除檔案(撕碎紙張)

模式二:播放外部 AVI 檔案

若需自訂動畫(如品牌 Logo 旋轉、專屬載入特效),可指定 FileName 屬性:


Animate1.FileName := 'C:\MyAnimations\loading.avi';
Animate1.Active := True;
// 或在設計階段直接設定 FileName 屬性

外部 AVI 檔案限制(重要)

  • 必須為未壓縮或 RLE 壓縮的 AVI(TAnimate 內部使用 MCI 輕量播放器,不支援現代編碼如 H.264、MPEG-4、DivX 等)
  • 不含音訊軌道
  • 建議解析度 ≤ 200x200,幀率 15-30 fps,檔案大小 < 500KB
  • 製作工具:舊版 Windows Movie Maker、VirtualDub(另存為 Uncompressed/RLE)、線上轉換器

進階控制技巧

需求實作方式
動態切換動畫Animate1.Active := False; Animate1.FileName := newFile; Animate1.Active := True;
播放特定幀區間設定 StartFrame、StopFrame 屬性(0 起始索引)
單次播放不循環Animate1.Repetitions := 1(預設 0 為無限循環)
背景透明化AVI 本身無透明通道;需製作綠幕後配合 TransparentColor 屬性(支援有限)
執行緒安全長時間操作請放在背景執行緒,UI 執行緒僅負責 Active := True/False

現代替代方案建議

TAnimate 技術較老舊(源自 Windows 95 時代),新專案建議考慮:

  • GIF 動畫:TImage + 第三方元件(如 TGIFImage)支援透明、循環、廣泛相容
  • Lottie / JSON 動畫:Skia4Delphi、LottieDelphi 等現代庫,向量縮放、檔案小、設計師友善
  • CSS/HTML 動畫:TEdgeBrowser (WebView2) 載入本地 HTML,發揮 Web 動畫生態優勢

儘管如此,TAnimate 仍是零依賴、零部署、即開即用的輕量選擇,適合內部工具、舊專案維護、或極簡部署需求的場合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved