Oh MyUtils

ASCII艺术生成器 - 文本转ASCII艺术横幅 在线工具

使用25种FIGlet字体将文本转换为ASCII艺术横幅。添加代码注释包装,预览所有字体 — 100%客户端处理,文本不会离开浏览器。

字体
水平布局
注释包装
最大宽度
空格处换行
On
去除空白
On
输入文本
输出
在上方输入文本以生成ASCII艺术

常见问题

什么是ASCII艺术生成器?

ASCII艺术生成器将纯文本转换为完全由ASCII字符组成的大型装饰文本横幅。它使用FIGlet字体——预定义的字符映射,将每个字母转换为由|、/、\、_等符号组成的多行图案。这些横幅广泛用于终端启动头、README装饰、代码注释横幅和DevOps管道输出。

什么是FIGlet?

FIGlet是"Frank, Ian, and Glenn's Letters"的缩写。这是1991年创建的程序,使用特别设计的字体(.flf文件)从普通文本生成文本横幅。FIGfont规范定义了字符的渲染方式,包括间距和"压缩"(字符重叠)规则。有300多种社区创建的FIGlet字体。此工具使用figlet.js库,该库为JavaScript带来了完整的FIGfont规范支持。

如何使用ASCII艺术生成器?

在输入框中输入文本,然后从下拉菜单中选择字体。ASCII艺术会实时即时生成。您可以调整水平布局、设置最大宽度或添加代码注释包装。点击复制按钮将结果复制到剪贴板。使用全部预览选项卡可以同时查看所有可用字体中的文本效果。

我的文本数据安全吗?

是的。所有文本处理都使用figlet.js JavaScript库在您的浏览器中100%完成。您的文本永远不会发送到任何服务器,永远不会被存储或记录。页面加载后,该工具完全离线工作。字体文件从打包的资源中按需加载,不从外部服务器获取。

水平布局选项有哪些?

默认使用字体设计师预设的间距。完整在字符之间添加最大间距。紧凑将字符靠近但不重叠。受控压缩根据字体文件中定义的规则重叠字符。通用压缩使用通用规则,在重叠位置右侧字符优先。

如何将ASCII艺术添加为代码注释?

选择与您的编程语言匹配的注释包装样式:JavaScript/C/Go用//,Python/Ruby/Shell用#,CSS/C块注释用/* */,HTML/XML用<!-- -->,SQL/Lua用--,LaTeX/MATLAB用%,或VimScript用"。生成器将自动在输出的每一行前添加所选的注释语法,可直接粘贴到源代码中。

有哪些可用字体?

生成器包含从FIGlet字体库中精选的25种字体:Standard、Banner、Big、Block、Slant、Shadow、Small、Mini、Doom、Isometric1、Isometric3、3-D、Gothic、Graffiti、Colossal、Larry 3D、Star Wars、Script、Bubble、Digital、Cyberlarge、ANSI Shadow、Rectangles、Ogre和Speed。使用全部预览选项卡可以同时比较所有字体。

代码示例

// Using figlet.js in Node.js
// Install: npm install figlet
const figlet = require('figlet');

// Synchronous usage
const result = figlet.textSync('Hello World', {
  font: 'Standard',
  horizontalLayout: 'default',
  width: 80,
  whitespaceBreak: true,
});
console.log(result);

// Asynchronous usage
figlet.text('Hello World', { font: 'Slant' }, (err, data) => {
  if (err) {
    console.error('Error:', err);
    return;
  }
  console.log(data);
});

// List all available fonts
figlet.fonts((err, fonts) => {
  console.log('Available fonts:', fonts.length);
});

// Wrap in comment syntax for code files
function wrapInComment(art, style) {
  const lines = art.split('\n');
  switch (style) {
    case '//': return lines.map(l => `// ${l}`).join('\n');
    case '#': return lines.map(l => `# ${l}`).join('\n');
    case '/* */': return `/*\n${lines.map(l => ` * ${l}`).join('\n')}\n */`;
    default: return art;
  }
}

const banner = figlet.textSync('API Server', { font: 'Standard' });
console.log(wrapInComment(banner, '//'));

相关工具