在使用之前需要安装Imagick扩展。
<?php
//服务器绝对路径
$root_path = $_SERVER['DOCUMENT_ROOT'];
$height_ok = 0;
$width_ok = 0;
//多图片
for ($i = 0; $i < 59; $i++) {
$image1 = new \Imagick($root_path . '/upload/png/2024/02/22/24452000000011260017-' . $i . '.png');
$height1 = $image1->getImageHeight();
$height_ok += $height1;
$temp = $image1->getImageWidth();
if ($width_ok < $temp) {
$width_ok = $temp;
}
}
$newImage = new \Imagick();
$newImage->newImage($width_ok, $height_ok, 'white', 'png');
$height1_next = 0;
for ($i = 0; $i < 59; $i++) {
$image1 = new \Imagick($root_path . '/upload/png/2024/02/22/24452000000011260017-' . $i . '.png');
$newImage->compositeImage($image1, \Imagick::COMPOSITE_DEFAULT, 0, $height1_next);
$height1_next += $image1->getImageHeight();
}
// 保存最终的拼接长图
$newImage->writeImage($root_path . '/upload/output_long_image.png');
// 清理资源
$newImage->clear();
$newImage->destroy();
本次测试60张图片进行拼接