Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Elixir 使用长生不老药生成头像的首字母_Elixir_Phoenix Framework - Fatal编程技术网

Elixir 使用长生不老药生成头像的首字母

Elixir 使用长生不老药生成头像的首字母,elixir,phoenix-framework,Elixir,Phoenix Framework,我正在研制长生不老药,并希望能提供化身服务。如果用户没有头像,希望制作一个上面有他们姓名首字母的头像,如下所示: 我真的一点也不知道从哪里开始,或者怎么做。使用。这是一个Elixir ImageMagick集成。您可以使用它来完成此操作。只需通过调用convert命令并将选项传递给它即可。下面是一个简单的例子,如何生成与您发布的图像相似的图像。我将把微调留给你 def generate(outfile, initials) do size = 512 resolution = 72

我正在研制长生不老药,并希望能提供化身服务。如果用户没有头像,希望制作一个上面有他们姓名首字母的头像,如下所示:

我真的一点也不知道从哪里开始,或者怎么做。

使用。这是一个Elixir ImageMagick集成。

您可以使用它来完成此操作。只需通过调用
convert
命令并将选项传递给它即可。下面是一个简单的例子,如何生成与您发布的图像相似的图像。我将把微调留给你

def generate(outfile, initials) do
  size = 512
  resolution = 72
  sampling_factor = 3
  System.cmd "convert", [
    "-density", "#{resolution * sampling_factor}",                # sample up
    "-size", "#{size*sampling_factor}x#{size*sampling_factor}",   # corrected size
    "canvas:#E0E0E0",                                             # background color
    "-fill", "#6D6D6D",                                           # text color
    "-font", "/Library/Fonts/Roboto-Bold.ttf",                    # font location
    "-pointsize", "300",                                          # font size
    "-gravity", "center",                                         # center text
    "-annotate", "+0+#{25 * sampling_factor}", initials,          # render text, move down a bit
    "-resample", "#{resolution}",                                 # sample down to reduce aliasing
    outfile
  ]
end
比如这个

generate('out.png', 'JD')
将生成以下图像:


不使用像“WW”这样的首字母缩写。如果没有pointsize imagemagick,则会尝试计算最佳拟合的pointsize。但我发现,ImageMagick正在制作奇怪的东西。如果你有类似“MR”的东西,重心就不正常了。a-修剪后,它会删除“R”右侧的一部分。