PHP合并2张图像(将图像插入图像)

时间:2012-06-12 08:41:03

标签: php image merge photo

我需要你的帮助

我有两张图片,
1. http://i.imgur.com/pyWGk.jpg(脸部图片,类型:jpeg)
2. http://i.imgur.com/LYk07.png(框架图像,面孔,类型:png)

我希望将脸部图像插入到帧图像中

我试过这个剧本

<?php
$image = imagecreatefromjpeg('face.jpg');
$frame = imagecreatefrompng('ironman.png');

$iw = imagesx($image);
$ih = imagesy($image);

$fw = imagesx($frame);
$fh = imagesy($frame);

imagealphablending($frame, true);
imagesavealpha($frame, true);
imagecopy($image, $frame, 0, 0, 0, 0, $fw, $fh);

header('Content-Type: image/jpeg');
imagejpeg($image);

imagedestroy($image);
imagedestroy($frame);
?>

问题是:
结果图像的分辨率与帧图像的分辨率不同,并且
如何改变人脸图像的位置,使脸部图像可以在帧图像中的孔上

1 个答案:

答案 0 :(得分:0)

您可以缩放图像以获得相同的分辨率。以下是缩放的示例代码:

function scale($scale){
    //you can get image width and height from image info
    $width = $image_width * $scale / 100;
    $height = $image_height * $scale / 100;

    $scaled_image = imagecreatetruecolor($width, $height);
    imagecopyresampled($scaled_image, $old_image, 0, 0, 0, 0, $width, $height, $image_width, $image_height);
}

要更改面部图像的位置,您可以在imagecopy功能中设置所需的参数。您需要设置dst_xdst_y