2016-07-15 83 views
1

我目前正在学习代码,我正在为自己做一个小项目。我目前正在用html5和php来试用这个项目。这是我想要做的:试图从TXT输入创建一个PNG文件PHP

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

这里是我用来获取信息的部分代码:

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

我希望这个问题是有道理的。

+0

检查这个http://stackoverflow.com/questions/8429011/how-to-write-the-text-on-top-of-image-in-html5-canvas – danielarend

+0

这里有一个小文章,你可以(https://en.m.wikipedia.org/wiki/POST_(HTTP)) – Jek

+0

请参阅[使用PHP创建PNG](http://php.net/manual/) EN/image.examples-png.php)。 – showdev

回答

0

这是使用PHP GD库完成的。

您需要一张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 
?>