如何在Windows下用Python将表情包渲染成图像? [英] How to render emojis as images in Python under Windows?

查看:0
本文介绍了如何在Windows下用Python将表情包渲染成图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的目标是生成(在Windows下的Python中)呈现任何Unicode字符的位图图像,特别是包括表情符号。我已经安装了几种表情友好的字体(包括Symbola)用于测试。

到目前为止,我已经尝试了PIL、matplotlib和pyGame,但它们都不能在Windows下运行(前两个显然可以在某些版本的Linux/MacOS上运行,而pyGame则明确地限制在0xffff以下的字符,这排除了emoji)。

我发现reportlab能够生成带有emoji的PDF(虽然它的位图呈现器无法正确呈现它们),但我仍然需要找到一种方法来从PDF中提取emoji字符并将其转换为位图。我觉得应该有一种更简单的方式...

注意:此问题与Rendering Emoji with PIL有关,但如果其他库可以完成此工作,我不一定想使用PIL

推荐答案

我最终在Is there any good python library for generating and rendering text in image format?中找到了解决方案。尽管它是基于第三方可执行文件的,但如前所述,它很容易被包装在Python中。

具体步骤如下:

  1. https://www.imagemagick.org/script/download.php#windows安装ImageMagick
  2. 将环境变量MAGICK_HOME设置为安装文件夹
  3. 安装Pillow,以便能够轻松地在Python(conda install pillow)中操作生成的图像
  4. https://fontlibrary.org/en/font/symbola下载并安装Symbola字体

和我的测试脚本:

import os
import subprocess

import PIL.Image

to_render = '🤓'
output_file = 'rendered_emoji.bmp'

subprocess.run([
    os.path.join(os.environ['MAGICK_HOME'],  'magick.exe'),
    'convert', '-font', 'Symbola', '-size', '50x50',
    '-gravity', 'center', f'label:{to_render}', output_file])
image = PIL.Image.open(output_file)
image.show()

这篇关于如何在Windows下用Python将表情包渲染成图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆