<html>
<body>
<form action="images.php" method="post">
Enter image Name :<input type="text" name="imagename">
<br></br>
<input type="submit" name="sumbit">
<br></br>
</form>
</body>
</html>
在这个html代码中,用户可以输入他的名字,以便根据名称生成图像。
<?php
$name = $_POST['imagename'];
if($_POST['imagename'] != ''){
header("Content-Type: image/png");
$name = $_POST['imagename'];
$im = @imagecreate(800,600);
$background_color = imagecolorallocate($im, 0xFF, 0xCC, 0xDD);
$text_color = imagecolorallocate($im, 133, 14, 91);
imagestring($im, 5, 300, 300, "$name", $text_color);
imagepng($im);
imagedestroy($im);
}
else echo "no image created";
?>
此php代码生成的图像与给定的名称相符..
使用这段代码可以很好地生成图像,但我需要的是创建的图像必须出现在浏览器的中心...我已经在html文件上使用<img src="file.php>
进行了尝试。它没有用..
如果你们找到我的解决方案,那将非常有帮助。谢谢你提前
答案 0 :(得分:1)
如果您想将图像置于浏览器中心,则需要html和css。
我建议您不要使用header("Content-Type: image/png");
直接显示图像,而是将图像保存到文件中。
然后您的脚本可以输出html并将图像包含在图像标记中或作为背景图像。使用css可以轻松地在浏览器中居中显示图像。
答案 1 :(得分:0)
Here你会找到一个如何在手工制作的图像中居中文字的例子。引用该页面,你应该这样做:
<?php
$fw = imagefontwidth(5); // width of a character
$l = strlen("$name"); // number of characters
$tw = $l * $fw; // text width
$iw = imagesx($im); // image width, 800 for your case
$xpos = ($iw - $tw) / 2;
$ypos = 10;
imagestring ($im, 5, $xpos, $ypos, "$name", $color);
//...
?>