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