Imagick::appendImages

(PECL imagick 2.0.0)

Imagick::appendImagesAppend a set of images

说明

Imagick::appendImages ( bool $stack ) : Imagick

Append a set of images into one larger image.

参数

stack

Whether to stack the images vertically. By default (or if FALSE is specified) images are stacked left-to-right. If stack is TRUE, images are stacked top-to-bottom.

返回值

Returns Imagick instance on success.

错误/异常

错误时抛出 ImagickException。

范例

Example #1 Imagick::appendImages() example

<?php

/* Create new imagick object */
$im = new Imagick();

/* create red, green and blue images */
$im->newImage(10050"red");
$im->newImage(10050"green");
$im->newImage(10050"blue");

/* Append the images into one */
$im->resetIterator();
$combined $im->appendImages(true);

/* Output the image */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo 
$combined;
?>

以上例程的输出类似于:

Output of example : Imagick::appendImages()

User Contributed Notes

adao at adao dot eti dot br 30-Sep-2014 12:59
# change $ima to $ima->getimagesblob()

<?php
$im1
= new Imagick(); 
$im1->readImage('multi-page-pdf.pdf');
$im1->resetIterator();
# Combine multiple images into one, stacked vertically.
$ima = $im1->appendImages(true);
$ima->setImageFormat("png");
header("Content-Type: image/png");
echo
$ima->getimagesblob();
?>
Anonymous 14-Mar-2014 05:08
Sometimes when running this code on a long running apache24 instance on a server with minimal memory the final "echo $ima;" returns an empty string.

Doing an "apache graceful" seems to clear this up.  There appears to be no other way to correct OR DETECT this problem. Suckky.
Brandon 12-Nov-2009 12:56
# How to combine a multi-page pdf file into a single long image:

<?php
$im1
= new Imagick();  
$im1->readImage('multi-page-pdf.pdf');
$im1->resetIterator();
# Combine multiple images into one, stacked vertically.
$ima = $im1->appendImages(true);
$ima->setImageFormat("png");
header("Content-Type: image/png");
echo
$ima;
?>