ImageCopyMerge似乎没有合并

时间:2012-10-10 10:31:16

标签: php html image

ImageCopyMerge仅显示为仅处理底部图像?

作为试验,我试图覆盖并偏移白色和蓝色图像

$dest = '../images/pictures/white.gif';
$src = '../images/pictures/blue.gif';
imagecopymerge($dest, $src, 12, 65, 0, 0, 175, 260, 50);
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);

然后在HTML中显示输出

<img src="<?php echo($dest); ?>" />

我做错了什么?

2 个答案:

答案 0 :(得分:1)

这样做,你正在摧毁图像并在那之后使用,因为它不会来。

<?php
$dest = '../images/pictures/white.gif';
$src = '../images/pictures/blue.gif';
imagecopymerge($dest, $src, 12, 65, 0, 0, 175, 260, 50);
imagegif($dest);
?>
<img src="<?php echo $dest; ?>" />   // your html code
<?php
imagedestroy($dest);
imagedestroy($src);

答案 1 :(得分:1)

要处理图像,首先需要使用imagecreatefrom*函数将图像加载到RAM中。

$dest = imagecreatefromgif(''../images/pictures/white.gif');
$src = imagecreatefromgif('../images/pictures/blue.gif');

以下内容也不起作用。

<img src="<?php echo($dest); ?>" />

您需要链接到调用imagegif()函数

的php脚本
<img src="your/script.php" />

或者您需要将图像数据转换为data URL(但如果图像很大,我不会建议它。)

ob_start();
imagegif($dest);
$imagedata = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/png;base64,"' . base64($imagedata) . '" />';