我有以下PHP脚本输出/显示为PNG / PHP图像:
-image.php
-background.php
我希望能够打开第三个脚本" main.php"它显示image.php重叠到background.php
我尝试过使用常用方法:
<?php
$url1="image.php"
$url2="background.php";
$dest = imagecreatefrompng($url1);
$src = imagecreatefromjpeg($url2);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100);
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>
但这没效果(大概是因为cource图像是php)。
关于如何合并这两个图像的任何想法?提前致谢
答案 0 :(得分:0)
你需要向php解释它需要执行image.php而不是以'raw'形式包含它。 我能想到的最简单的方法是使用curl_init或file_get_contents之类的东西,并将完整的URL添加到php脚本中,以便通过http打开文件并要求Web服务器为您执行。
所以将代码更改为:
<?php
$url1= file_get_contents("http://example.com/image.php");
$url2= file_get_contents("http://example.com/background.php");
$dest = imagecreatefrompng($url1);
$src = imagecreatefromjpeg($url2);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100);
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>
HTH,
bovako
答案 1 :(得分:0)
您应该尝试使用include
来阅读文件内容,然后使用imagecreatefromstring
来创建图片:
<?php
$handle = imagecreatefromstring(include('image.php'));
答案 2 :(得分:0)
谢谢,它现在似乎正在运作。我必须将imagecreate函数从png / JPEG更改为string(如下所示):
再次感谢!让我的思绪变得疯狂
$url1= file_get_contents("http://example.com/image.php");
$url2= file_get_contents("http://example.com/background.php");
$dest = imagecreatefromstring($url1);
$src = imagecreatefromstring($url2);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100);
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>