# 文字转图片

机器人可以把文字转成图片，这样可以避免消息发到 QQ 群中被腾讯拦截，或者公式直接输出导致可读性太低的问题。 &#x20;

机器人内置两种不同的文字转图片模式。

文字转图片功能有关的配置项：

```toml
[text_to_image]
# 文字转图片

# 是否强制开启，设置后所有的消息强制以图片发送，减小风控概率  
always = true

# 字体大小
font_size = 30

# 图片宽度
width = 700

# 字体
font_path = "fonts/sarasa-mono-sc-regular.ttf" 

# [备用模式]起始点 X
offset_x = 50 

# [备用模式]起始点 Y
offset_y = 50 
```

## Markdown 渲染模式

该模式下，机器人输出的内容会被当成 Markdown 文本，在转换成 HTML 之后，使用 wkhtmltoimage 这个软件进行渲染，并转换成图片。&#x20;

该模式下可以渲染公式、图片、代码高亮，右下角还会有一个二维码，扫描之后获得图片内容的原文。

这需要你运行机器人的电脑上有安装 wkhtmltoimage 和一个图形界面。

对于没有图形界面的 Linux 服务器，可以考虑使用 xvfb 来模拟一个。

{% hint style="info" %}
提示

如果你是通过 Windows 快速部署包，或者 Linux 一键脚本部署的，那么别担心，这些我们都已经帮你配置好了。
{% endhint %}

### 自定义渲染效果图

Markdown 模式下的图片渲染是通过 HTML 实现的，这个 HTML 文件存放在项目的 `asssets\texttoimg\template.html` 下。

如果你有一定的 Web 前端开发能力，可以自己修改这个模板，实现自定义。

## 备用渲染模式

备用渲染模式只是单纯地把文字转化成图片，不会渲染公式、Markdown 等富文本内容，也不需要任何环境依赖。

默认情况下，机器人会优先尝试使用 Markdown 渲染模式，只有当该模式渲染失效，才会改回备用渲染模式。
