Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
好的PHP库,可以将文本添加到图像(jpg、png等)_Php_Image - Fatal编程技术网

好的PHP库,可以将文本添加到图像(jpg、png等)

好的PHP库,可以将文本添加到图像(jpg、png等),php,image,Php,Image,我最近受雇于一所为幼儿提供远程(在线)教育的学校。他们希望在孩子完成某些测试、作业等后,能够通过电子邮件生成和发送证书(jpg或png图像)。显然,他们不会让所有老师在Photoshop或其他软件中重新创建每个证书并更改每个孩子的姓名等;这太费时了,我怀疑他们的老师甚至不知道如何使用Photoshop 因此,我想知道在PHP中向图像添加文本的最佳方法是什么。证书将类似于标准的学校证书,名称行将为空白。我想把课文放在那里 我在PHP中这样做的原因是,教师可以访问which.com/generate

我最近受雇于一所为幼儿提供远程(在线)教育的学校。他们希望在孩子完成某些测试、作业等后,能够通过电子邮件生成和发送证书(jpg或png图像)。显然,他们不会让所有老师在Photoshop或其他软件中重新创建每个证书并更改每个孩子的姓名等;这太费时了,我怀疑他们的老师甚至不知道如何使用Photoshop

因此,我想知道在PHP中向图像添加文本的最佳方法是什么。证书将类似于标准的学校证书,名称行将为空白。我想把课文放在那里

我在PHP中这样做的原因是,教师可以访问which.com/generate-certificate,然后在字段中键入孩子的名字,然后生成证书,并通过电子邮件发送给学生。对老师来说很容易

希望这个问题有意义。简单地说,我只需要一个库或PHP中的其他简单方法,向图像(可能是jpeg)添加一行文本


非常感谢

有一个很棒的名为GD的默认库,它应该可以完成这项工作

我的想法是如何制作你需要的东西: 1.为您的认证创建几个背景图像。 2.使用PHP GD库加载图像 3.写入文本并保存文件,或者在流量较少的情况下动态渲染文件


如果您不喜欢程序类型,可以使用imagick

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;