← Back to skills
extension
Category: Content & MediaAPI key requirement unconfirmed

文字故障效果生成

输入文字,输出故障艺术风格 PNG。支持中、日、韩、俄、法、英六语种,自动识别语言并选用正确字形(避免中文渲染成繁体)。可调字重、字间距、斜体角度与色散、碎片、撕裂强度。

personAuthor: jooyicnhubModelScope

Glitch Text Studio / 故障文字生成器

把任意文字渲染成 glitch 风格位图:多层色散错位 + 横向切片撕裂 + 彩色碎片飞散。

快速开始

python3 scripts/glitch_text.py "Lucy" -o out.png -p cyber
python3 scripts/glitch_text.py "露西" -o out.png -p eerie

预设

| 预设 | 效果 | 适用 | | --- | --- | --- | | cyber | 标准故障,6 层色散,洋红→紫 | 通用、拉丁字母 | | eerie | 宋体 + 轻微腐蚀 + 28px 字间距 | 中文、阴森/文艺 | | soft | 4 层色散,碎片少,整体降透明度 | 低调场景 | | vivid | 8 层色散,碎片多,抛射远 | 强视觉冲击 |

四套预设默认 --ink-bias 1:碎片按局部笔画密度分配,笔画密的字母多撕、笔画疏的尾字母少撕, 长词尾部不会看起来比开头碎。想要均匀铺开传 --ink-bias 0。

参数

| 参数 | 说明 | 典型值 | | --- | --- | --- | | --preset | 预设风格 | cyber / eerie / soft / vivid | | --lang | 语言(默认 auto 自动检测) | zh / ja / ko / ru / fr / en | | --font | auto / sans / serif | 中文自动用 CJK | | --weight --bold | 字重 | regular / bold | | --size | 字号 | 340–460 | | --thin | 腐蚀半径,笔画变细 | 0–3(中文 1–3;宋体横画极细,别超 3 否则断笔) | | --spacing | 字间距 px | 中文 20–40 | | --italic | 仿斜体角度 | 0 / 8–15 | | --layers | 色散层数 | 4–8 | | --debris | 碎片条数 | 45–140 | | --spread | 碎片横向抛射距离 | 60–170 | | --ink-bias | 碎片跟随笔画密度的程度(0=均匀铺开,1=完全跟随) | 0–1(预设 1.0) | | --slice | 切片位移幅度 | 16–34 | | --alpha-scale | 整体透明度倍数 | 0.68–1.12 | | --tones | 主层三色调,格式见下 | — | | --seed | 随机种子 | 任意整数 | | --width --height | 画布 | 1600×900 |

--tones "255,30,150,0.92,-16,-3;220,50,230,0.82,-4,3;150,60,255,0.58,9,-7"
# 颜色 + 不透明度 + (dx,dy) 偏移:即洋红 → 紫红 → 半透明紫

全角字符(日文假名等)宽度 ≈ 1em,4 个字符配 420 字号会超出 1600 画布,需下调 --size(如 340)。

多语言与字体

--lang 默认 auto:假名→ja,谚文→ko,西里尔→ru,汉字→zh,其余→en。 日/韩/中必须选对字面,否则字形会错(中文「阴」在 TC 面会变「陰」)。 脚本按平台自动查找字体(Linux /usr/share/fonts、Windows C:\Windows\Fonts、macOS /System/Library/Fonts), 并在 .ttc 集合里按语言挑面;只有简中字体却要渲日/韩时,终端会给出缺字提示。

python3 glitch_text.py "グリッチ" -o ja.png --lang ja --spacing 24
python3 glitch_text.py "Люси"    -o ru.png --lang ru

缺字体时补装:

  • Linux:apt install fonts-noto-cjk fonts-dejavu
  • Windows:设置 → 个性化 → 字体,或「可选功能」里加装日语/韩语补充字体
  • macOS:系统自带苹方,通常无需安装

斜体

--italic 角度(如 --italic 12)用剪切变换的仿斜体,不是真斜体字体——Noto CJK 没有斜体字重, 且目标环境未必装了拉丁斜体。所有语言一致生效,可与 --thin / --spacing 组合。

调参

  • 主色糊成一坨 → 不要调淡,而是打碎:三色调按 45/30/25 占用互斥切片分组。
  • 各层分离、条带对不上 → 所有色散层必须共享同一套切片,只改颜色和小幅 (dx,dy)。
  • 碎片不够 / 太散 → 调 --debris / --spread。
  • 长词尾部过碎 → 调高 --ink-bias(越接近 1 碎片越短、越贴笔画);想更平均可降到 0.3–0.6。
  • 彩边不明显 → 加大色散层偏移。

依赖与输出

  • 必需 Pillow;可选 opencv-python / numpy(更保形的椭圆结构元腐蚀,缺失时降级为 PIL MinFilter)。
    pip install Pillow            # 可选:pip install opencv-python numpy
    
  • 输出白底 PNG,默认 1600×900,可直接用于海报标题、社媒配图、视频封面。