PHP - объединить два изображения по вертикали - PullRequest
0 голосов
/ 10 апреля 2020

Я комбинирую два изображения в моем приложении Laravel, оно работает на моей локальной машине. Но нижнее изображение исчезает на моем сервере Ubuntu. Все изображения менее 100 КБ. Ограничение памяти установлено на -1.

Примечание. Перед объединением я преобразовал верхнее изображение, чтобы оно имело такую ​​же ширину нижнего изображения.

$top_image_path = '/textImage.jpg';
$bottom_image_path = '/blueImage.jpg';

list($top_image_width, $top_image_height) = getimagesize($top_image_path);
list($bottom_image_width, $bottom_image_height) = getimagesize($bottom_image_path);

$merged_width = $bottom_image_width;
$merged_height = $top_image_height + $bottom_image_height;

$merged_image = imagecreatetruecolor($merged_width, $merged_height);

imagealphablending($merged_image, false);
imagesavealpha($merged_image, true);

$img1 = imagecreatefromjpeg($top_image_path);
$img2 = imagecreatefromjpeg($bottom_image_path);

imagecopy($merged_image, $img1, 0, 0, 0, 0, $top_image_width, $top_image_height);
imagecopy($merged_image, $img2, 0, $bottom_image_width, 0, 0, $bottom_image_width, $bottom_image_height);

imagejpeg($merged_image, 'merged_image.jpg'); 

Результат:

Выходное изображение на моем локальном компьютере: successfully combined images

Выходное изображение на сервере Ubuntu: unsuccessfully combined images

1 Ответ

1 голос
/ 10 апреля 2020

Я думаю, что у линии есть следующая проблема.

imagecopy($merged_image, $img2, 0, $top_image_height, 0, 0, $bottom_image_width, $bottom_image_height);
...