【img-ascii-term】🎉 在nodejs中一键将图片转换为彩色或黑白的 ASCII 字符画,只需一个 console.log 就能在终端展示

23 阅读1分钟

【img-ascii-term】🎉 在nodejs中一键将图片转换为彩色或黑白的 ASCII 字符画,只需一个 console.log 就能在终端展示。😋 搭配 AI 生图,轻松生成独特 logo,快速嵌入你的项目或 CLI!

image.png

🚀 仓库

Github 仓库

📖 文档

功能特色

  • 将图片转换为可在任意终端打印的 ASCII 字符串
  • 通过 chalk 实现真彩色输出,可选择关闭彩色
  • 保持图片宽高比例,支持自定义输出宽度和字符集
  • 支持常见格式:jpg、jpeg、png等
  • 以 ESM 包形式发布,适用于支持 import 的 Node.js 环境

image.png

环境要求

  • Node.js 22 或更高版本

安装方法

安装运行时依赖(canvas 为原生依赖,请保留在 dependencies):

npm install canvas img-ascii-term

快速上手

import { convertImageToAscii } from 'img-ascii-term'

const ascii = await convertImageToAscii('./logo.png', {
    width: 120,
    colored: true,
    charset: ' .:-=+*#%@',
})

console.log(ascii)

API 说明

convertImageToAscii(imagePath: string, options?: ConvertImageOptions): Promise<string>

将图片文件转换为 ASCII 艺术字符串。如果文件不存在或格式不支持会抛出异常。

ConvertImageOptions
  • width (number):输出字符宽度,默认值为 80
  • colored (boolean):启用真彩色输出,默认值为 true
  • charset (string):从浅到深排列的字符集,默认值为 ' .:-=+*#%@'

Playground

使用内置示例在终端预览效果:

pnpm install
pnpm start

这会构建包并运行 index.js,将 playground/ciallo.png 转换为 ASCII。可在此修改图片路径或参数进行实验。

开发相关

  • pnpm dev — 监听模式下构建
  • pnpm build — 生成 ESM 格式输出到 dist
  • pnpm typecheck — 仅运行 TypeScript 类型检查
  • pnpm start — 构建并运行 playground 示例