Imagick::optimizeImageLayers
(PECL imagick 2, PECL imagick 3)
Imagick::optimizeImageLayers — Removes repeated portions of images to optimize
说明
public Imagick::optimizeImageLayers(): bool
Compares each image the GIF disposed forms of the previous image in the sequence. From this it attempts to select the smallest cropped image to replace each frame, while preserving the results of the animation. 此方法在Imagick基于ImageMagick 6.2.9以上版本编译时可用。
参数
此函数没有参数。
返回值
成功时返回 true
。
错误/异常
错误时抛出 ImagickException。
范例
示例 #1 Using Imagick::optimizeImageLayers()
Reading, optimizing and writing a GIF image
<?php
/* create new imagick object */
$im = new Imagick("test.gif");
/* optimize the image layers */
$im->optimizeImageLayers();
/* write the image back */
$im->writeImages("test_optimized.gif", true);
?>
参见
- Imagick::compareImageLayers() - Returns the maximum bounding region between images
- Imagick::writeImages() - Writes an image or image sequence
- Imagick::writeImage() - 把图片写入指定的文件

User Contributed Notes 1 note
f21 dot groups at gmail dot com ¶
9 years ago
In imagick 3.x (have not checked 2.x), this returns an imagemagick object and not a boolean.
<?php
$image = new Imagick('myanimation.gif');
$image = $image->optimizeImageLayers(); //Does not return a boolean!
$image->writeImage('optimized.gif');
备份地址:http://www.lvesu.com/blog/php/imagick.optimizeimagelayers.php