#pixel-art #emoji #png #颜色 #图像 #文件 #转换

bin+lib emoji_pix

这是一个简单的命令行工具(以及 Rust 包!)可以将传统图像文件(例如 PNG 文件)转换为使用表情符号构建的像素艺术版本。

3 个不稳定版本

0.2.1 2022年3月13日
0.2.0 2021年9月26日
0.1.0 2021年9月26日

#835 in 图像

GPL-3.0-only

29KB
102

EmojiPix

这是一个简单的命令行工具(以及 Rust 包!)可以将传统图像文件(例如 PNG 文件)转换为使用表情符号构建的像素艺术版本。例如,使用 emoji_pix ferris.png --width 30 在从以下链接下载的 Ferris(Rust 的吉祥物)图片上操作,并将输出粘贴到 Discord(在几条消息中),它将看起来像这样

命令行安装和使用

  1. 确保已安装 Rust
  2. 运行 cargo install emoji_pix
  3. 使用 emoji_pix [options] 运行二进制文件。例如,emoji_pix ferris.png --width 30

使用 emoji_pix --help 获取完整的命令行选项。

Rust 包使用方法

  1. 通过将 emoji_pix = "0.1.0" 添加到您的 Cargo.toml 中来安装包
  2. 请参阅此处文档

使用技巧

  • 如果您的源图像具有透明背景,请尝试编辑图像,并将背景替换为图像中尚未存在的纯色。这是因为透明度会自动转换为黑色,这可能会使您的图像对比度不佳。
  • 以下面的原因,生成的“图片”在使用 Twemoji 的平台上看起来最好,例如 Twitter 和 Discord。
  • 在 Discord 上,消息长度最多为 2000 个字符。这意味着您通常需要将大图片拆分成几条消息,但如上例所示,这看起来仍然很好。
  • 在某些其他平台上,将像素艺术放入等宽字体或 代码 块通常会产生更令人愉悦的结果。

工作原理

表情符号标准有 9 个不同颜色的矩形框:🟥 🟧 🟨 🟩 🟦 🟪 🟫 ⬛ ⬜。它们可以用作像素艺术中的伪像素。因为表情符号标准没有为每个框指定特定的颜色阴影,所以 EmojiPix 目前假设您正在使用 Twemoji。某些应用程序(如 Twitter 和 Discord)使用这些表情符号实现。

然后 EmojiPix

  1. 根据用户的输入调整图像大小,保持正确的宽高比
  2. 对于每个像素,使用 CIEDE2000 颜色距离算法找到最相似的颜色的表情符号,并将其打印出来。

未来方向

  • 自动的二进制构建,这意味着您无需安装 Rust 就可以使用此工具。
  • 可定制的表情符号集,以消除使用 Twemoji 的假设。这将允许您在不是使用 Twemoji 的平台上获得更精确的图像。表情符号集将通过命令行标志提供。
  • 允许从内存中读取图像,而不是需要文件路径。
  • 为 WASM 编译并使其成为网络应用程序
  • 自动分离图像块以适应 Discord 的 2000 个字符消息限制

依赖项

~20MB
~317K SLoC