【问题标题】:Create dynamic name avatar/icon like Google创建动态名称头像/图标,如谷歌
【发布时间】:2019-12-05 23:35:43
【问题描述】:

我想根据姓名的首字母创建徽标或个人资料头像,例如 Google。有什么方法或服务可以做到吗?

我试图学习有关使用 php 制作图像的代码,但这很难。有一次我发现了一个关于这个动态图像文本的网站,但我没有找到。

【问题讨论】:

    标签: php image dynamic avatar


    【解决方案1】:

    您可以在网上找到的最简单的示例将使用 PHP 的 imagecreateimagestring 函数,例如这个:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-31
      • 2016-08-31
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 1970-01-01
      相关资源
      最近更新 更多