在PHP中在另一个底部添加一个图像

时间:2010-11-27 23:32:02

标签: php gd

我想在php

中将一个图像添加到另一个图像的底部

我这是加载图片:

//load top
$top = @imagecreatefrompng($templateTop);
//load bottom
$bottom = @imagecreatefrompng($templateBottom);

现在我想将它们添加到一张图片中并一起显示顶部和底部。

我可以用这种方式做什么?

谢谢!

3 个答案:

答案 0 :(得分:17)

使用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');

答案 1 :(得分:1)

要实现这一点,你必须这样做     a)合并图像并将结果存储在文件中     b)生成适当的标签以指向它。     c)避免再次使用该文件名,直到该人离开。

如果您只想将两个图像组合一次,请使用图像魔术。

如果您经常想要在另一个下面显示两个图像,请使用合适的html进行显示,然后让浏览器执行此操作。

E.g。将图像放在

<div><div><img.../></div><div><img .../></div></div> 
用正常方式用php生成的

。 (这比让标签显示在这里更容易:)

答案 2 :(得分:0)

$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);