一个浏览器零依赖、体积小的轻量JavaScript图片转 ASCII 库,支持浏览器、Nodejs及小程序,甚至是跨端应用(Uniapp、Electron)。Node.js 环境需安装 canvas
作为 polyfill。支持自定义字符集、Web Worker 多线程,一键生成高还原度字符画,可用于 CLI 工具、前端特效、日志水印、Discord/Slack Bot 等场景,API 简洁,开箱即用。
直接引入打包后的文件:
<script src="dist/img2asciix.bundle.js"></script>
或者使用CDN引入:
<!-- JsDelivr引入 -->
<script src="https://cdn.jsdelivr.net/npm/img2asciix/dist/img2asciix.bundle.js"></script>
<!-- JsDelivr中国站 -->
<script src="https://cdn.mengze.vip/npm/img2asciix/dist/img2asciix.bundle.js"></script>
Note
2.0.0以上版本 Node.js 环境会自动加载 polyfill,支持 Image
对象和 Canvas
,无需手动配置。
需要先安装依赖:
npm install img2asciix
然后通过 require 引入:
const AsciiArt = require('img2asciix');
// 浏览器中使用
AsciiArt.convert('image.jpg', { width: 80 })
.then(ascii => console.log(ascii))
.catch(console.error);
// Node.js 中使用
const { readFileSync } = require('fs');
const imageBuffer = readFileSync('image.jpg');
const imageData = 'data:image/jpeg;base64,' + imageBuffer.toString('base64');
AsciiArt.convert(imageData, { width: 100 })
.then(console.log)
.catch(console.error);
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
width | number | 100 | 输出宽度(字符数) |
height | number | 自动计算 | 输出高度(字符数) |
asciiRamp | string | @%#*+=-:. |
灰度映射字符集(从密到疏) |