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); ?>" />
我做错了什么?
答案 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()
函数
<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) . '" />';