©
This document uses PHP Chinese website manual Release
(PECL imagick 2.0.0)
Imagick::appendImages — Append a set of images
$stack
= false
)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
$im = new Imagick ();
$im -> newImage ( 100 , 50 , "red" );
$im -> newImage ( 100 , 50 , "green" );
$im -> newImage ( 100 , 50 , "blue" );
$im -> resetIterator ();
$combined = $im -> appendImages ( true );
$combined -> setImageFormat ( "png" );
header ( "Content-Type: image/png" );
echo $combined ;
?>
以上例程的输出类似于:
[#1] adao at adao dot eti dot br [2014-09-30 12:59:30]
# 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();
?>
[#2] Anonymous [2014-03-14 17:08:30]
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.
[#3] Brandon [2009-11-12 00:56:18]
# 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;
?>