Я хотел бы добавить одно изображение в конец другого в php
Мне нужно загрузить изображения:
//load top $top = @imagecreatefrompng($templateTop); //load bottom $bottom = @imagecreatefrompng($templateBottom);
Теперь я хотел бы добавить их к одному изображению и показать сверху и снизу вместе.
Как я могу это сделать?
Благодаря!
Используйте imagecopy :
$top_file = 'image1.png'; $bottom_file = 'image2.png'; $top = imagecreatefrompng($top_file); $bottom = imagecreatefrompng($bottom_file); // get current width/height list($top_width, $top_height) = getimagesize($top_file); list($bottom_width, $bottom_height) = getimagesize($bottom_file); // compute new width/height $new_width = ($top_width > $bottom_width) ? $top_width : $bottom_width; $new_height = $top_height + $bottom_height; // create new image and merge $new = imagecreate($new_width, $new_height); imagecopy($new, $top, 0, 0, 0, 0, $top_width, $top_height); imagecopy($new, $bottom, 0, $top_height+1, 0, 0, $bottom_width, $bottom_height); // save to file imagepng($new, 'merged_image.png');
Для этого вам нужно: a) объединить изображение и сохранить результат в файле; b) создать подходящий тег, чтобы указать на него. c) Избегайте использования этого имени файла, пока этот человек не ушел.
Если вы хотите объединить два изображения только один раз, используйте магию изображений.
Если вы часто хотите отображать два изображения друг под другом, сделайте это с помощью подходящего html, и пусть браузер сделает это.
Например, поместите изображения в
<div> <div> <img ... /> </ div> <div> <img ... /> </ div> </ div>
которые вы генерируете с помощью php обычным способом. (Это проще, чем создавать теги здесь 🙂
$photo_to_paste = "photo_to_paste.png"; $white_image = "white_image.png"; $im = imagecreatefrompng($white_image); $im2 = imagecreatefrompng($photo_to_paste); // Place "photo_to_paste.png" on "white_image.png" imagecopy($im, $im2, 20, 10, 0, 0, imagesx($im2), imagesy($im2)); // Save output image. imagepng($im, "output.png", 0);