使用imagemagick蒙太奇与PHP

use*_*482 3 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;
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

emc*_*lle 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');
Run Code Online (Sandbox Code Playgroud)

蒙太奇用php的例子