使用imagemagick蒙太奇与PHP

时间:2015-02-18 23:41:48

标签: php imagemagick

我正在尝试使用imagemagick制作蒙太奇。我让它部分工作。我想制作2列2列的蒙太奇。在图像之间的5px填充,在白色背景上。当我使用下面的代码时,得到的图像是一个图像的两倍高和两倍宽,尽管只有四个图像中的第一个以正确的大小和点出现,其余三个点中有白色。所有图像都是相同的尺寸和相同的文件类型。

<?php
header('Content-type: image/jpeg');
$loc1 = 'http://localhost:8888/gallery_edited/0116.jpg';
$loc2 = 'http://localhost:8888/gallery_edited/0115.jpg';
$loc3 = 'http://localhost:8888/gallery_edited/0114.jpg';
$loc4 = 'http://localhost:8888/gallery_edited/0113.jpg';
$image = new Imagick("$loc1 $loc2 $loc3 $loc4");
$image -> setFormat("jpg");
$image = $image -> montageImage(new ImagickDraw, '2x2', '600x400', 0, '0');
echo $image;

enter image description here

1 个答案:

答案 0 :(得分:8)

使用Imagick::addImage使用Imagick对象的新实例构建图像堆栈。

<?php

$sources = array(
    'red.png',
    'green.png',
    'blue.png',
    'orange.png'
);

$stack = new Imagick();
foreach( $sources as $source ) {
    $stack->addImage(new Imagick($source));
}

$montage = $stack->montageImage(new ImagickDraw(), '2x2', '500x300', 0, '0');
$montage->writeImage('out.png');

montage with php example