3 个不稳定版本
0.2.1 | 2022年3月13日 |
---|---|
0.2.0 | 2021年9月26日 |
0.1.0 | 2021年9月26日 |
#835 in 图像
29KB
102 行
EmojiPix
这是一个简单的命令行工具(以及 Rust 包!)可以将传统图像文件(例如 PNG 文件)转换为使用表情符号构建的像素艺术版本。例如,使用 emoji_pix ferris.png --width 30
在从以下链接下载的 Ferris(Rust 的吉祥物)图片上操作,并将输出粘贴到 Discord(在几条消息中),它将看起来像这样
命令行安装和使用
- 确保已安装 Rust
- 运行
cargo install emoji_pix
- 使用
emoji_pix [options]
运行二进制文件。例如,emoji_pix ferris.png --width 30
。
使用 emoji_pix --help
获取完整的命令行选项。
Rust 包使用方法
- 通过将
emoji_pix = "0.1.0"
添加到您的Cargo.toml
中来安装包 - 请参阅此处文档
使用技巧
- 如果您的源图像具有透明背景,请尝试编辑图像,并将背景替换为图像中尚未存在的纯色。这是因为透明度会自动转换为黑色,这可能会使您的图像对比度不佳。
- 以下面的原因,生成的“图片”在使用 Twemoji 的平台上看起来最好,例如 Twitter 和 Discord。
- 在 Discord 上,消息长度最多为 2000 个字符。这意味着您通常需要将大图片拆分成几条消息,但如上例所示,这看起来仍然很好。
- 在某些其他平台上,将像素艺术放入等宽字体或
代码
块通常会产生更令人愉悦的结果。
工作原理
表情符号标准有 9 个不同颜色的矩形框:🟥 🟧 🟨 🟩 🟦 🟪 🟫 ⬛ ⬜。它们可以用作像素艺术中的伪像素。因为表情符号标准没有为每个框指定特定的颜色阴影,所以 EmojiPix 目前假设您正在使用 Twemoji。某些应用程序(如 Twitter 和 Discord)使用这些表情符号实现。
然后 EmojiPix
- 根据用户的输入调整图像大小,保持正确的宽高比
- 对于每个像素,使用 CIEDE2000 颜色距离算法找到最相似的颜色的表情符号,并将其打印出来。
未来方向
- 自动的二进制构建,这意味着您无需安装 Rust 就可以使用此工具。
- 可定制的表情符号集,以消除使用 Twemoji 的假设。这将允许您在不是使用 Twemoji 的平台上获得更精确的图像。表情符号集将通过命令行标志提供。
- 允许从内存中读取图像,而不是需要文件路径。
- 为 WASM 编译并使其成为网络应用程序
- 自动分离图像块以适应 Discord 的 2000 个字符消息限制
依赖项
~20MB
~317K SLoC