logo
0
1
WeChat Login

Img2ASCIIx

Screenshot_2025-02-13-17-23-09-09_a87fd7db6caa850b517aa6fa9d2fcd0e.jpg

License npm

一个浏览器零依赖、体积小的轻量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>

Node.js 环境

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);

配置选项

参数类型默认值描述
widthnumber100输出宽度(字符数)
heightnumber自动计算输出高度(字符数)
asciiRampstring@%#*+=-:. 灰度映射字符集(从密到疏)

About

一个浏览器零依赖、体积小的轻量JavaScript图片转 ASCII

200.00 KiB
0 forks1 stars1 branches0 TagREADMEMIT license
Language
JavaScript100%