Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将文本覆盖到图像_Php_Forms_Gd - Fatal编程技术网

Php 将文本覆盖到图像

Php 将文本覆盖到图像,php,forms,gd,Php,Forms,Gd,首先,我要说我是php的初学者。我编写了这个基本脚本,但显然它不能正常工作。我的目标是将表单文本发布到图像上,并像原始脚本那样进行覆盖。我的问题是,我不太确定如何做到这一点。我尝试使用一个基本的post功能,但没有效果。如果您有任何帮助或建议,我们将不胜感激。我相信这对其他处于我这个位置的人来说也是一个有用的工具。还有,这是最有效的方法吗?将表单和覆盖脚本分开会更好吗 原件: <?php header("Content-type: image/jpeg"); $imgPath = 'ima

首先,我要说我是php的初学者。我编写了这个基本脚本,但显然它不能正常工作。我的目标是将表单文本发布到图像上,并像原始脚本那样进行覆盖。我的问题是,我不太确定如何做到这一点。我尝试使用一个基本的post功能,但没有效果。如果您有任何帮助或建议,我们将不胜感激。我相信这对其他处于我这个位置的人来说也是一个有用的工具。还有,这是最有效的方法吗?将表单和覆盖脚本分开会更好吗

原件:

<?php
header("Content-type: image/jpeg");
$imgPath = 'image.jpg';
$image = imagecreatefromjpeg($imgPath);
$color = imagecolorallocate($image, 255, 255, 255);
$string = "yay text";
$fontSize = 3;
$x = 115;
$y = 185;
imagestring($image, $fontSize, $x, $y, $string, $color);
imagejpeg($image);
?>

我的补充:

<?php
header("Content-type: image/jpeg");

$name = "";
$location = "";

if(isset($_POST['submit']))
    {   
        $name = $_POST['name'];
        $location = $_POST['location']; 
    }

$imgPath = 'nearyou.jpg';
$image = imagecreatefromjpeg($imgPath);
$color = imagecolorallocate($image, 255, 255, 255);
//$echo = "Name\n" . "Location";    
$echo = $name . "<br />" . $location;
$fontSize = 6;
$font = "HelveticaNeue.ttf";
$x = 10;
$y = 460;
imagestring($image, $font, $fontSize, $x, $y, $echo, $color);
imagejpeg($image);
?>


<form method="POST" name="overlay_form" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> 
name<br />
<input type="text" name="name" value='<?php echo htmlentities($name) ?>'><br /><br />

location<br />
<input type="text" name="location" value='<?php echo htmlentities($location) ?>'><br /><br />

<input type="submit" value="Submit" name='submit'>
</form>

名称

我现在的问题是,新行和回车符在图像上显示为奇数字符。我还想分别为每一行设计样式。我需要一些帮助。

显然它不能正常工作
-你能分享更多的细节吗?错误消息?发生了什么不应该发生的事情?什么是不应该发生的?旁注:您可能需要使用实际的“字体”名称。如果未设置字体,我不确定GD是否有默认字体。当前没有错误,它只显示没有文本的图像。我还没来得及看到表格,图像就被送达了。我想我不知道如何显示的形式和张贴到图像都在同一页。将表单和覆盖脚本保留为两个不同的实体会更容易吗?谢谢,关于字体我不知道。另外,请检查您的
y
位置。我把它改成了
$y=45并使用第一个代码体显示文本。不用担心字体,看起来不需要了@马德兹
<?php
$name = "";
$location = "";

if(isset($_POST['submit']))
{   
$name = $_POST['name'];
$location = $_POST['location']; 
}

?>
<form method="POST" name="contact_form" action="overlay_post.php"> 
name<br />
<input type="text" name="name" value='<?php echo htmlentities($name) ?>'><br /><br />

location name<br />
<input type="text" name="location" value='<?php echo htmlentities($location) ?>'><br /><br />

<input type="submit" value="Submit" name='submit'>
</form>
<?php
header("Content-type: image/jpeg");
$imgPath = 'nearyou.jpg';
$image = imagecreatefromjpeg($imgPath);
$color = imagecolorallocate($image, 255, 255, 255);
$echo = $name . "\r\n" . $location ;
$fontSize = 6;
$x = 30;
$y = 460;
imagestring($image, $fontSize, $x, $y, $echo, $color);
imagejpeg($image);
?>