是否可以使用ImageMagick渲染多色表情符号?

时间:2015-09-09 08:51:27

标签: text imagemagick rmagick emoji

我有一个可能包含表情符号的文字。我想用RMagick将它渲染成JPEG图像(我也可以直接使用ImageMagick)。

我只能使用AndroidEmoji.ttf呈现单色表情符号,但如果我使用AppleColorEmoji.ttf,ImageMagick会呈现询问符号。 我是这样做的:

require 'rmagick'
granite = Magick::ImageList.new('granite:')
canvas = Magick::ImageList.new
canvas.new_image(300, 100, Magick::TextureFill.new(granite))

input = "  "
text = Magick::Draw.new
text.font = 'AppleColorEmoji.ttf'
text.pointsize = 20
text.gravity = Magick::CenterGravity
text.annotate(canvas, 0, 0, 0, 0, input)
canvas.write('result.jpg')

是否可以使用ImageMagick渲染彩色表情符号,还是有其他可以提供帮助的工具?

2 个答案:

答案 0 :(得分:3)

我认为你运气不好...... ImageMagick forum

我想您可以将所有字形保存为PNG文件并将它们附加在一起以制作" textspeak句子"

convert smile.png StupidShoeThing.png arnie.png +append txtspeak.png

enter image description here

答案 1 :(得分:1)

您可以使用pango进行文本呈现(从v6.7.6-3版本开始):

<TextField label={ <Typography variant="headline" component="h3"> Zoeken </Typography> } ..../>

生成此图像(使用v7.0.8-36)

example.png

有关如何在ImageMagick中使用pango的更多详细信息,请参见https://www.imagemagick.org/Usage/text/#pango


我在Ubuntu 18.04上,使用ImageMagick 7.0.8-36(通过源代码编译),看起来具有此配置

convert pango:'Hello! How are you?' example.png

好像我正在使用Pangocairo 1.40.14

Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jpeg lcms lqr lzma openexr pangocairo png tiff wmf x xml zlib