PHP Conference Japan 2024

Imagick::optimizeImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::optimizeImageLayers移除影像中重複的部分以進行最佳化

說明

public Imagick::optimizeImageLayers(): bool

比較序列中每個影像與前一個影像的 GIF 處置形式。藉此嘗試選擇最小的裁切影像來取代每個影格,同時保留動畫的結果。如果 Imagick 已針對 ImageMagick 6.2.9 或更新版本進行編譯,則可以使用此方法。

參數

此函式沒有參數。

傳回值

成功時傳回 true

錯誤/例外

錯誤時擲回 ImagickException。

範例

範例 1 使用 Imagick::optimizeImageLayers()

讀取、最佳化和寫入 GIF 影像

<?php
/* 建立新的 imagick 物件 */
$im = new Imagick("test.gif");

/* 最佳化影像圖層 */
$im->optimizeImageLayers();

/* 將影像寫回 */
$im->writeImages("test_optimized.gif", true);
?>

參見

新增註解

使用者貢獻註解 1 則註解

0
f21 dot groups at gmail dot com
11 年前
在 imagick 3.x 中(尚未檢查 2.x),這會傳回 imagemagick 物件,而不是布林值。

<?php

$image
= new Imagick('myanimation.gif');

$image = $image->optimizeImageLayers(); //不會傳回布林值!

$image->writeImage('optimized.gif');
To Top