Pixel Art Generator 是一个开源命令行项目,适合想看清“图片模型生成”和“像素化处理”各自做了什么的人。它把流程拆成几步:先由图像生成模型画出普通图片,再把颜色压缩到指定调色板,随后矢量化、按目标网格重新栅格化,最终输出 PNG 和 SVG。你也可以跳过模型生成,直接给它一张已有图片做后处理。它更像一条可调整的素材实验流水线,并不是点一下就保证得到专业游戏精灵图的成品软件。查看 Pixel Art Generator 官方 GitHub 项目。

Pixel Art Generator 输出的橙色猫咪像素画示例
项目图库示例:橙猫像素画。色彩数量和像素分辨率会影响阴影层次与轮廓清晰度。
Pixel Art Generator 输出的草地人物像素画示例
项目图库示例:草地人物场景。适合观察模型生成、调色板压缩与矢量化后的整体效果。
Pixel Art Generator 输出的动漫人物像素画示例
项目图库示例:动漫人物。细碎头发和小饰品在缩小后容易粘连,实际使用前应在原生尺寸检查。

先判断适合你的运行方式

项目 README 面向 Python 3.12,并列出 Cairo 作为依赖;作者的安装示例是 macOS 的 Homebrew 命令。Windows 用户不要直接照抄这套环境命令,仓库没有提供完整的 Windows 原生安装向导;可以在 Linux/macOS 环境或 WSL 里根据系统安装 Cairo 后再创建 Python 虚拟环境。第一次运行时还可能需要从模型仓库下载权重,下载量、显存和速度取决于所选模型及机器。

克隆仓库、创建虚拟环境、安装开发依赖的示例步骤如下。进入项目目录后按你的系统激活环境:

git clone https://github.com/HannahLilyW/pixel-art-generator.git
cd pixel-art-generator
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements-dev.txt

macOS README 还示范先通过 Homebrew 安装 Python 3.12 与 Cairo。若你在 Linux 上安装,应使用该发行版的 Cairo 开发包;某条命令失败时,先查看错误中缺少的系统库,不建议反复盲目重装 Python 包。

从文字提示生成一张像素画

最基础的命令是 python3.12 cli.py "beautiful landscape, cartoon, flat"。初次测试可以用简洁主题,比如“橙色猫坐在窗台上,平涂卡通风格,主体居中”,不要同时加入太多人物、文字和复杂背景。项目会在 output/ 下写出带时间戳的 PNG 和 SVG。README 提醒提示词里的 cartoon、anime、flat 等风格词有助于模型生成颜色分区更清楚的图片;模型生成部分本身仍受提示词和所选模型影响。

几个常用参数:--resolution 或 -r 控制目标方形画布,默认 200;--colors 或 -c 指定调色板颜色数,默认 32;--output 或 -o 更换输出目录;--save-intermediate 保存中间阶段,方便观察颜色量化或矢量化在哪一步损失了细节。不要把 resolution 误解成原始模型图片尺寸,它设定的是项目处理输出的像素分辨率。

把已有插画变成像素素材

已经有插画时,可用 --input 跳过文字生成阶段,例如 python3.12 cli.py --input ./my-character.png --resolution 128 --colors 24。这样适合比较同一张图在不同分辨率和颜色数量下的效果。可以先保留 32 色作为基线,再做 16 色和 8 色版本;细节变少后,脸部、武器或植物叶片可能会粘在一起,必要时调整画布或先简化原图,而不是一味提高颜色数。

项目也提供模型、采样步数和 guidance 等选项。README 默认模型是 Stable Diffusion 1.4;较新的 Z-Image-Turbo 被作者推荐作为快速尝试方向,文档示例建议用较少步骤和较低 guidance。不同模型适用的 guidance 区间不同,不要把一个模型的参数原样套给另一个。若使用需要授权的 Hugging Face 模型,按模型页面完成登录和许可操作。

理解四段流程:不要只盯最终 PNG

  1. 生成或导入:文字提示交给图像模型,或用 --input 读取已有图。主体轮廓与构图在这里决定,后面的像素化无法凭空修复被挡住的脸或错位的手。
  2. 调色板量化:把连续色彩映射到有限色组。颜色少更有复古感,也更容易统一资产;但皮肤渐变、薄雾和微弱阴影会被合并。
  3. 矢量化:将颜色块和边界转换为可表达的形状,便于后续缩放或生成 SVG。复杂纹理可能变成许多小块,因此 SVG 文件不一定更小,也不代表所有轮廓都适合手工编辑。
  4. 重新栅格化:把形状落回目标网格,得到 PNG。务必同时检查 PNG 和 SVG:PNG 是游戏和图片工作流常用结果;SVG 可用于放大展示或继续做矢量加工,但它仍是处理结果,不是完整分层源文件。

一套实用的调参顺序

先固定提示词或输入图,再只改一个变量。第一轮选 128 或 200 分辨率、32 色,确认轮廓;第二轮把颜色减到 16 或 24,观察主次明暗是否仍清楚;第三轮比较更小网格,例如 64 或 96,看看缩小后角色还能否一眼认出来。输出目录改名保存不同实验,避免后一次运行覆盖或混淆结果。开启中间产物后,把原图、调色板结果、矢量结果和最终 PNG 放在一起比较,判断是模型构图、颜色量化还是矢量边界导致效果变差。

常见问题与适用场景

输出像“缩小照片”而不是像素画:原图光影和纹理太复杂,尝试更平面的提示词、更少颜色,或先画简单插画。小尺寸看不清:减少装饰、放大输出网格或强化剪影。命令卡在模型下载:检查网络、模型权限与缓存空间;显存不足时考虑较轻模型或先用 --input 验证后处理流程。SVG 很复杂:这是复杂边界带来的路径数量增长,像素素材的主要交付目标仍可能是 PNG。这个项目适合概念图、图标、插画像素化试验和可重复的批处理研究;严格逐像素控制的角色动画,仍建议在像素编辑器中人工修整。

GitHub 仓库页面没有明确展示项目许可证,因此不要据此推断可自由商用;商业使用前先核实当前仓库授权、模型权重条款和输入图片权利。完整依赖、CLI 参数与输出示例见官方 README。