-1

基本上我必须使用需要我添加参与者姓名并上传图片的 ID Card PHP 事物。我有一个身份证的基本模板,我正在使用 PHP 添加名称。我必须在特定地点添加参与者的图片。该名称有效,但我无法在生成的 PHP 图像上添加参与者的图片。这是我的代码:

http://chopapp.com/#arcqwgf4

我应该如何在 PHP 生成图像上添加图片。

抱歉,如果这令人困惑:/

4

3 回答 3

0

Imagick用于此类事情。有一种方法combineImages()可以用来实现您的目标。

于 2013-08-07T10:21:18.913 回答
0

您可以使用php.ini 中的imagecopyresampled方法来完成。

我在这里创建了一个示例:http: //artuc.my.phpcloud.com/artuc/输入名称、ID 并选择一个图像来放置它。

这是我使用的代码:

header('Content-Type: image/jpeg');
    $canvasImage = imagecreatefromjpeg('sample.jpg');
    $bgcolor = imagecolorallocate($canvasImage, 255, 255, 255);
    imagefill($canvasImage, 0, 0, $bgcolor);

    //Place person picture
    $bgImage = $_POST['idPic'];
    $img = imagecreatefromjpeg($bgImage);
    $imageSize = getimagesize($bgImage);
    imagecopyresampled($canvasImage, $img, 15, 17, 0, 0, $imageSize[0], $imageSize[1], $imageSize[0], $imageSize[1]);

    $fontFile = "Arial.ttf";
    //Place person name
    $black = imagecolorallocate($canvasImage, 0, 0, 0);
    imagettftext($canvasImage, 18, 0, 220, 35, $black, $fontFile, $_POST['idName']);

    //Place person id
    $black = imagecolorallocate($canvasImage, 0, 0, 0);
    imagettftext($canvasImage, 18, 0, 220, 75, $black, $fontFile, $_POST['idNum']);

    //Save Image
    imagejpeg($canvasImage);
    imagedestroy($canvasImage);
于 2013-08-07T11:04:54.057 回答
0

您已经使用 GD 完成了大部分工作,您需要做的是使用imagecopymerge在基础图像上的指定点将一个图像绘制在另一个图像之上。PHP.net 在链接页面上有很多示例。

于 2013-08-07T10:24:58.033 回答