我试图创建一个使用1和3图像之间的开放图像图像蒙太奇,并在最终蒙太奇上覆盖一个标志。我用下面的代码工作 - 但是,我必须生成1到3图像蒙太奇,然后添加徽标并生成一个新图像,然后删除第一个图像。我确信有一个更有效的方法来做到这一点 - 全部使用exec
,而不必输出两个图像,然后删除一个。感谢您的任何建议。ImageMagick带标志的蒙太奇
if ($array_count == 1) {
$w = 898;
$h = 474;
$t = '1x1';
} else if ($array_count == 2) {
$w = 449;
$h = 474;
$t = '2x2';
} else if ($array_count == 3) {
$w = 299;
$h = 474;
$t = '3x1';
}
$exe = " montage ";
foreach ($photo_array as $p) {
$exe .= " http://website.com/images/{$p} -thumbnail {$w}x{$h}^ -gravity center -extent {$w}x{$h} -geometry {$w}x{$h}+1+1 ";
}
$exe .= "-tile $t ";
$exe .= " poster1.jpg ";
exec("$exe");
exec(" convert poster1.jpg logo_overlay.png -gravity SouthEast -geometry +10+10 -composite poster2.jpg ");
@unlink("poster1.jpg");
$img_out = "poster2.jpg";
嗨马克。我尝试了第一个选项,但是我也需要它来处理多达6个图像。平铺3x3。为了简单起见,我只在示例中使用了3张图片。我应该包含所有的代码,最多可以平铺6张图片。所以,第一个选项对我来说不适用于超过3张图片,而我似乎无法使用miff:-'来计算第二个选项。你能否详细介绍我如何实现选项2.非常感谢您的帮助。 – Chris
@Chris我已经更新了答案 - 希望你现在可以看到如何去做。 –
非常感谢,马克。这工作完美。 – Chris