PHP实现图片上添加文字(证书生成)
首先,确定服务器中已经安装并开启GD2图形库
然后,代码如下:
ob_clean();
$realname = "姓名";
$schoolname = "学校";
$idcard = "身份证号";
$image = imagecreatefrompng('certification.png'); // 证书模版图片文件的路径
$red = imagecolorallocate($image,00,00,00); // 字体颜色
// imageTTFText("Image", "Font Size", "Rotate Text", "Left Position","Top Position", "Font Color", "Font Name", "Text To Print");
imageTTFText($image, 50, 0, 1110, 1025, $red, '字体路径',$realname);
imageTTFText($image, 50, 0, 1000, 1023, $red, '字体路径', $schoolname);
imageTTFText($image, 55, 0, 900, 810, $red, '字体路径(/usr/share/fonts/truetype/ttf-dejavu/simhei.ttf)', $idcard);
/* If you want to display the file in browser */
header('Content-type: image/png;');
ImagePng($image);
imagedestroy($image);
/* if you want to save the file in the web server */
$filename = 'certificate_aadarsh.png';
ImagePng($image, $filename);
imagedestroy($image);
/* If you want the user to download the file */
$filename = 'certificate_aadarsh.png';
ImagePng($image,$filename);
header('Pragma: public');
header('Cache-Control: public, no-cache');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($filename));
header('Content-Disposition: attachment; filename="' .
basename($filename) . '"');
header('Content-Transfer-Encoding: binary');
readfile($filename);
imagedestroy($image);
---------------------
作者:wss0130
来源:CSDN
原文:https://blog.csdn.net/wss0130/article/details/45972107
版权声明:本文为博主原创文章,转载请附上博文链接!
以下代码复制可用
<?php
ob_clean();
$realname = "第三代";
$schoolname = "黄家欢";
$idcard = rand(1,100000);
$image = imagecreatefrompng('certification.png'); // 证书模版图片文件的路径
$image_src = imagecreatefrompng('hjh.png');
$green = imagecolorallocate($image,00,255,00); // 字体颜色
$red = imagecolorallocate($image,255,00,00);
$black = imagecolorallocate($image,00,00,00);
// imageTTFText("Image", "Font Size", "Rotate Text", "Left Position","Top Position", "Font Color", "Font Name", "Text To Print");
imageTTFText($image, 20, 0, 100, 100, $red, 'SIMLI.ttf',$realname);
imageTTFText($image, 20, 0, 200, 200, $green, 'FZDHTJW.ttf', $schoolname);
imageTTFText($image, 25, 0, 300, 300, $black, 'FZDHTJW.ttf',$idcard );
imagecopymerge($image,$image_src,300,300,0,0,111,111,100);
/* If you want to display the file in browser */
$filename = 'certificate_aadarsh.png';
ImagePng($image, $filename);
imagedestroy($image);
?>
<img src="certificate_aadarsh.png" alt="上海鲜花港 - 郁金香" />