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();
?>
Imagick::addImage
(PECL imagick 2.0.0)
Imagick::addImage — Añade una nueva imagen a la lista de imágenes del objeto Imagick
Descripción
Añade una nueva imagen al objeto Imagick desde la posición actual del objeto de origen. Después de la operación la posición del iterador se mueve al final de la lista.
Parámetros
-
source -
El objeto Imagick de origen
Valores devueltos
Devuelve TRUE en caso de éxito.
Errores/Excepciones
Lanza ImagickException en caso de error.
bernie at dakotanetwork dot com ¶
1 year ago
fortruth at mabang dot net ¶
2 years ago
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);
?>
