试图从txt输入PHP创建一个png文件

时间:2016-07-15 22:38:33

标签: php html html5

我目前正在学习代码,而我正在为自己制作一个小项目。我目前正在用html5和php尝试这个项目。这就是我想要做的事情:

我希望用户输入他们的信息,例如姓名,地址,号码等。然后我想获取该信息并以某种方式将其放入.png文件中,以便他们可以保存该图片。我已经有了获取文本的代码,但我仍然坚持下一部分。

以下是我用来获取信息的代码的一部分:

$first = $_REQUEST['first'];
$last = $_REQUEST['last'];
$email = $_REQUEST['email'];
$address = $_REQUEST['address'];
$city = $_REQUEST['city'];

我希望这个问题有道理。

1 个答案:

答案 0 :(得分:0)

这是使用PHP GD Library完成的。

您需要开始使用PNG图像。您可以选择任何内容,例如100 x 100 canvas.png,只有白色(因此您可以在上面阅读黑色文字)。

还可以找到用于编写文本的字体。将其保存在与脚本相同的目录中。

<?php
    // fetch the text to write
    $first = $_REQUEST['first'];
    $last = $_REQUEST['last'];
    $email = $_REQUEST['email'];
    $address = $_REQUEST['address'];
    $city = $_REQUEST['city'];

    header('Content-type: image/png');

    $canvas = imagecreatefrompng('canvas.png'); // let's suppose canvas.png is a 100x100 pure white PNG

    $black = imagecolorallocate($canvas, 0, 0, 0); // create a color object (choosing black for a white canvas!)

    $font_path = './myfont.ttf'; // select font

    // imagettftext (resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

    imagettftext($canvas, 10, 0, 10, 10, $black, $font_path, $first); // place text on canvas
    imagettftext($canvas, 10, 0, 10, 25, $black, $font_path, $last); // place text on canvas
    imagettftext($canvas, 10, 0, 10, 40, $black, $font_path, $email); // place text on canvas
    imagettftext($canvas, 10, 0, 10, 55, $black, $font_path, $address); // place text on canvas
    imagettftext($canvas, 10, 0, 10, 60, $black, $font_path, $city); // place text on canvas

    imagepng($canvas); // send image to browser

    imagedestroy($canvas); // clear memory
?>