Imagick
在线手册:中文 英文
PHP手册

Imagick::addImage

(PECL imagick 2.0.0)

Imagick::addImageAdds new image to Imagick object image list

说明

bool Imagick::addImage ( Imagick $source )

Adds new image to Imagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

参数

source

The source Imagick object

返回值

成功时返回 TRUE .

错误/异常

错误时抛出 ImagickException .


Imagick
在线手册:中文 英文
PHP手册
PHP手册 - N: Adds new image to Imagick object image list

用户评论:

bernie at dakotanetwork dot com (29-Nov-2011 11:42)

create a favicon.ico with multiple resolutions

<?php

$src_img
= new Imagick("src_img.png");
$icon = new Imagick();
$icon->setFormat("ico");

$geo=$src_img->getImageGeometry();

$size_w=$geo['width'];
$size_h=$geo['height'];

if (
128/$size_w*$size_h>128) {
 
$src_img->scaleImage(128,0);
} else {
 
$src_img->scaleImage(0,128);
}

$src_img->cropImage(128, 128, 0, 0);

$clone = $src_img->clone();
$clone->scaleImage(16,0);           
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(32,0);           
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(64,0);           
$icon->addImage($clone);

$clone = $src_img->clone();
$clone->scaleImage(128,0);   
$icon->addImage($clone);

$icon->writeImages("favicon.ico", true);

$src_img->destroy();
$icon->destroy();
$clone->destroy();

?>

fortruth at mabang dot net (25-May-2010 04:21)

to create an animation gif  from filelist using addImage

<?php
    $filelist
= array("fileitem1.png","fileitem2.png","fileitem3.png");

   
$aniGif = new Imagick();
   
$aniGif->setFormat("gif");

    foreach(
$filelist as $frameitem){
        echo
"-----------------------\n adding frame {$frameitem}\n";
       
$frame = new Imagick($frameitem);       
       
$aniGif->addImage($frame);
       
//$delay time unit is micro second so 100 = 1s, one picture per second
       
$aniGif->setImageDelay($delay = 100);
        echo
"end of adding frame {$frameitem}\n";
    }
   
//there more than one file, so must be using writeImages()
   
$aniGif->writeImages($fileTarget = "aniGif.gif", $adjoin = true);
?>