首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 使用 GIFEncoder 實作水平與垂直滾動字幕動畫

     編輯:PHP 相關知識

本文分享兩種基於 GIFEncoder 的滾動字幕實作:水平跑馬燈與垂直逐行滾動,並附上完整類原始碼與關鍵技巧。

水平滾動實作要點

  • 載入背景圖 hudongbg.gif 作為畫布。
  • 使用 imagettftext() 繪製文字,需將編碼轉為 UTF-8。
  • 透過迴圈計算文字水平位置 $now = 220 - $count * 5,移出畫面則結束。
  • 每幀輸出至 $imagedata,最後由 GIFEncoder 合成。
$gif = new GIFEncoder($imagedata, $diy, 0, 2, 0, 0, 0, "bin");

垂直滾動實作要點

  • 以分號 ; 分隔多行文字,轉為陣列處理。
  • 每行文字產生 20 幀垂直位移動畫。
  • 第 20 幀設定延遲 200cs(2秒),產生停頓效果。
  • 延遲陣列 $delay 對應每幀顯示時間。
$transparent = array(0);
$gif = new GIFEncoder($imagedata, $delay, 0, 2, 0, 0, $transparent, "bin");

常見坑點與解決

  1. 編碼轉換:imagettftext 僅支援 UTF-8,必須 iconv("GB2312","UTF-8",$str)。
  2. 雙引號轉義:輸出前使用 stripslashes(htmlspecialchars_decode($str)) 反轉義。
  3. 字體檔案:需確保 ziti.ttf 存在且路徑正確。

GIFEncoder 類完整原始碼

文末提供 V2.06 版完整類別,含標頭/幀/尾部構建、區域/全域調色盤比較、Netscape 循環擴充套件支援等核心邏輯。

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