我正在尝试使用imagemagick制作蒙太奇。我得到它的部分工作。我想制作一个蒙太奇2列乘2行。使用5px的图片之间的填充,在白色背景上。当我使用以下代码时,生成的图像的高度和宽度是一个图像的两倍,尽管只有四个图像中的第一个以正确的大小和 Blob 出现,其余三个 Blob 中出现白色。所有图像都具有相同的尺寸和相同的文件类型。
<?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;
最佳答案
使用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');
关于php - 在PHP中使用imagemagick蒙太奇,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28596126/