當前位置: 首頁> 最新文章列表> 如何利用imagegif() 配合imagecreate() 創建並輸出GIF 圖片?

如何利用imagegif() 配合imagecreate() 創建並輸出GIF 圖片?

gitbox 2025-09-12
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 本文檔由 PHP 程序輸出</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">"Content-Type: text/html; charset=utf-8"</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>如何利用 </span><span><span class="hljs-title function_ invoke__">imagegif</span></span><span>() 配合 </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>() 創建並輸出 GIF 圖片?</h1>

<p>在 PHP 的圖像處理擴展 GD 庫中,<code></span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>()

其中, $width$height分別表示圖像的寬度和高度。創建成功後,就可以在這個畫布上進行繪製操作。

2 . imagecolorallocate () 分配顏色

在生成畫布後,我們需要為圖像分配顏色。 imagecolorallocate()函數用於在圖像中創建一種顏色,其語法為:

 </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span> ( resource </span><span><span class="hljs-variable">$image</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$red</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$green</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$blue</span></span><span> )

例如, imagecolorallocate($img, 255, 0, 0)表示在圖像中創建紅色。

3 . imagegif () 輸出圖像

imagegif()函數負責將圖像輸出為GIF 格式,可以直接輸出到瀏覽器,也可以保存為文件。語法為:

 </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagegif</span></span><span> ( resource </span><span><span class="hljs-variable">$image</span></span><span> [, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span> ] )

如果省略$filename ,則圖像會直接輸出到瀏覽器。

4 . 示例代碼

下面我們通過示例演示如何利用imagecreate()imagegif()來創建一張簡單的GIF 圖片:

 &lt;?php
</span><span><span class="hljs-comment">// 告訴瀏覽器輸出的是 GIF 圖片</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">"Content-Type: image/gif"</span></span><span>);

</span><span><span class="hljs-comment">// 創建一個 200x100 的畫布</span></span><span>
</span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);

</span><span><span class="hljs-comment">// 分配背景顏色(白色)</span></span><span>
</span><span><span class="hljs-variable">$white</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);

</span><span><span class="hljs-comment">// 分配繪製顏色(藍色)</span></span><span>
</span><span><span class="hljs-variable">$blue</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);

</span><span><span class="hljs-comment">// 在畫布上寫文字</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestring</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">40</span></span><span>, </span><span><span class="hljs-string">"Hello GIF"</span></span><span>, </span><span><span class="hljs-variable">$blue</span></span><span>);

</span><span><span class="hljs-comment">// 輸出為 GIF 格式</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagegif</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);

</span><span><span class="hljs-comment">// 釋放資源</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);
?&gt;

5 . 總結

通過imagecreate()創建畫布,使用imagecolorallocate()分配顏色,再配合imagegif()輸出圖像,就能輕鬆生成GIF 圖片。這個方法常用於驗證碼、動態圖表或其他需要動態生成圖片的場景。