我想从名字的第一个字母(例如Google)创建徽标或个人资料头像。有什么方法或服务吗?
我试图学习有关使用php制作图像的代码,但这很难。有一次,我找到了一个有关此动态图像文本的网站,但没有找到。
答案 0 :(得分:0)
您将在网上找到最简单的示例,这些示例将使用PHP的imagecreate和imagestring函数,例如:
https://phppot.com/php/how-to-convert-text-to-image-using-php/
这是我根据上面的链接整理的快速示例代码,它创建的图像类似于Google头像:
$img = imagecreate(250, 250);
$textbgcolor = imagecolorallocate($img, 52, 152, 219);
$textcolor = imagecolorallocate($img, 255, 255, 255);
$txt = "AB";
$fontfile = "/arial.ttf";
imagettftext($img, 100, 0, 35, 170, $textcolor , $fontfile, $txt);
ob_start();
imagepng($img);
printf('<img src="data:image/png;base64,%s"/ width="100">', base64_encode(ob_get_clean()));
您需要将arial.ttf字体文件放置在与PHP文件相同的目录中,以使其起作用。
但是,在大多数美观的字体中,字母的宽度不同。因此,您将很难使文本居中,因为您不能对字谜“ MM”和“ II”使用相同的X值。我建议您使用一个库,该库具有扩展功能,例如在文本中间添加文本标记,我的选择是在gd-text上。