搜索插件、代码仓与 APP 分类

enough_ascii_art 封面
插件详情v1.1.2

enough_ascii_art

使用图像转ASCII、FIGlet文本横幅支持和表情符号转文本转换生成ASCII艺术。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
780
喜欢数
27
Pub 分数
150

安装插件

flutter pub add enough_ascii_art

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Enough ASCII Art 是一个 Flutter 包,可让开发者从图像生成 ASCII 艺术,使用 FIGlet 字体创建文本横幅,并将表情符号转换为描述性文本。它支持 Android、iOS、Web、macOS、Windows 和 Linux 等多个平台。该包非常适合在应用程序中添加复古风格的视觉元素或装饰性文本。通过 pub add 简单集成,它为 Flutter 应用中的创意文本渲染和艺术效果提供了一种轻量级解决方案。

适合场景

  • 添加复古风格文字效果
  • 从图像生成ASCII艺术
  • 使用FIGlet字体创建横幅文本
  • 将表情符号转换为文本描述
  • 使用ASCII装饰增强UI

主要特点

  • 图像转ASCII
  • FIGlet 文本横幅支持
  • 表情符号转文本
  • 跨平台兼容性
  • 简单的 pub.dev 集成

适合对象

  • 创意应用界面
  • 复古主题应用
  • 基于文本的视觉效果
  • 带有ASCII视觉效果的教育工具
  • 带有风格化文本的游戏

使用建议

  • 大图像的性能可能有所不同
  • FIGlet 字体的自定义选项有限
  • 依赖外部ASCII生成逻辑
  • 未针对高频更新进行优化
  • 可能需要字体资源管理

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

An ASCII art library for Dart developers.

Available under the commercial friendly MPL Mozilla License 2.0.

Usage

Things you can do with enough_ascii_art:

  • Generate a textual representation of an image using convertImage(..).
  • Create FIGlet text banners with renderFiglet(..).
  • Convert ASCII text into UTF-8 "fonts" like 𝕕𝕠𝕦𝕓𝕝𝕖 𝕤𝕥𝕣𝕦𝕔𝕜 with renderUnicode(..).
  • Convert common UTF-8 emoticons to their text-representation with convertEmoticons(..).

Usage example:

import 'dart:io';
import 'package:enough_ascii_art/enough_ascii_art.dart' as art;
import 'package:image/image.dart' as img;

void main() async {
  final bytes = await File('./example/enough.jpg').readAsBytes();
  final image = img.decodeImage(bytes)!;
  var asciiImage = art.convertImage(image, maxWidth: 40, invert: true);
  print('');
  print(asciiImage);

  var helloWithUtf8Smileys = 'hello world 😛';
  var helloWithTextSmileys =
      art.convertEmoticons(helloWithUtf8Smileys, art.EmoticonStyle.western);
  print('');
  print(helloWithTextSmileys);
  print('');

  print('cosmic:');
  var fontText = await File('./example/cosmic.flf').readAsString();
  var figure = art.renderFiglet('ENOUGH', art.Font.text(fontText));
  print(figure);
  print('');

  var unicode = art.renderUnicode('hello world', art.UnicodeFont.doublestruck);
  print('double struck:');
  print(unicode);
}

The above code renders the following output:

%%%%%%%%%%%%%%%%%%@%@%#%#%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%##      -@%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%.        .#%%%%%%%%%%%
%%%%%%%%%%%%%%%%%#          #%%%%%%%%%%%
%%%%%%%%%%%%%%%%#@           %%%%%%%%%%%
%%%%%%%%%%%%% #*  #      @   %%%%%%%%%%%
%%%%%%%%%%%%%%-    *   =%    #%%%%%%%%%%
%%%%%%%%%%%%%%@#      *%     .#%%%%%%%%%
%%%%%%%%%%%%%%%%-    .@%%       %%%%%%%%
%%%%%%%%%%%%%%%=    @%%@          #%%%%%
%%%%%%%%%%%%%%#     #%%=            ##%%
%%%%%%%%%%%%%%%.      .               #%
%%%%%%%%%%%%%%%%@                      *
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%                 #
%%%%%%%%%%%%%%%%%%%%%%-              +%%
%%%%%%%%%%%%%%%%%%%%%%%.             %%%
%%%%%%%%%%%%%%%%%%%%%%%.           :%%%%
%%%%%%%%%%%%%%%%%%%%%%.             +@%%
%%%%%%%%%%%%%%%%%%%%%%    +%%%%%@    @%%
%%%%%%%%%%%%%%%%%%%%%.    @%%%%%#     %%
%%%%%%%%%%%%%%%%%%%%%     #%%%%%@     %%
%%%%%%%%%%%%%%%%%%%%%%-  -%%%%%%      %%


hello world :-P

cosmic:
.,:::::::::.    :::.    ...      ...    :::  .,-:::::/    ::   .:
;;;;''''`;;;;,  `;;; .;;;;;;;.   ;;     ;;;,;;-'````'    ,;;   ;;,
 [[cccc   [[[[[. '[[,[[     \[[,[['     [[[[[[   [[[[[[/,[[[,,,[[[
 $$""""   $$$ "Y$c$$$$$,     $$$$$      $$$"$$c.    "$$ "$$$"""$$$
 888oo,__ 888    Y88"888,_ _,88P88    .d888 `Y8bo,,,o88o 888   "88o
 """"YUMMMMMM     YM  "YMMMMMP"  "YmmMMMM""   `'YMUP"YMM MMM    YMM

double struck:
𝕙𝕖𝕝𝕝𝕠 𝕨𝕠𝕣𝕝𝕕

Installation

Add this dependency your pubspec.yaml file:

dependencies:
  enough_ascii_art: ^1.0.0

The latest version or enough_ascii_art is enough_ascii_art version.

Features and bugs

Please file feature requests and bugs at the issue tracker.

Run Example

After checking out this project, you can run the example from the root with this command:

dart ./example/enough_ascii_art_example.dart

Contribute & Known Limitations

Any contributions are welcome!

Known limitations:

  • Images are always converted to grayscale
  • The FIGlet banners are currently only supported with left-to-right text direction
  • The FIGlet banners are not wrapped into multiple lines
  • You cannot list all available FIGlet fonts, but instead need to know their names (check out the figlet/fonts directory!)
  • Currently only western style text emoticons are available

Please help removing these limitations!

Some more examples


shadow:
 ____|  \  |  _ \  |   |  ___| |   |
 __|     \ | |   | |   | |     |   |
 |     |\  | |   | |   | |   | ___ |
_____|_| \_|\___/ \___/ \____|_|  _|



smslant:
   _____  ______  __  _________ __
  / __/ |/ / __ \/ / / / ___/ // /
 / _//    / /_/ / /_/ / (_ / _  /
/___/_/|_/\____/\____/\___/_//_/



eftifont:
 ___  _  _  _  _ _  __  _ _
| __|| \| |/ \| | |/ _|| U |
| _| | \\ ( o ) U ( |_n|   |
|___||_|\_|\_/|___|\__/|_n_|



big:
 ______ _   _  ____  _    _  _____ _    _
|  ____| \ | |/ __ \| |  | |/ ____| |  | |
| |__  |  \| | |  | | |  | | |  __| |__| |
|  __| | . ` | |  | | |  | | | |_ |  __  |
| |____| |\  | |__| | |__| | |__| | |  | |
|______|_| \_|\____/ \____/ \_____|_|  |_|




isometric1:
      ___           ___           ___           ___           ___           ___
     /\  \         /\__\         /\  \         /\__\         /\  \         /\__\
    /::\  \       /::|  |       /::\  \       /:/  /        /::\  \       /:/  /
   /:/\:\  \     /:|:|  |      /:/\:\  \     /:/  /        /:/\:\  \     /:/__/
  /::\~\:\  \   /:/|:|  |__   /:/  \:\  \   /:/  /  ___   /:/  \:\  \   /::\  \ ___
 /:/\:\ \:\__\ /:/ |:| /\__\ /:/__/ \:\__\ /:/__/  /\__\ /:/__/_\:\__\ /:/\:\  /\__\
 \:\~\:\ \/__/ \/__|:|/:/  / \:\  \ /:/  / \:\  \ /:/  / \:\  /\ \/__/ \/__\:\/:/  /
  \:\ \:\__\       |:/:/  /   \:\  /:/  /   \:\  /:/  /   \:\ \:\__\        \::/  /
   \:\ \/__/       |::/  /     \:\/:/  /     \:\/:/  /     \:\/:/  /        /:/  /
    \:\__\         /:/  /       \::/  /       \::/  /       \::/  /        /:/  /
     \/__/         \/__/         \/__/         \/__/         \/__/         \/__/


chunky:
 _______ _______ _______ _______ _______ _______
|    ___|    |  |       |   |   |     __|   |   |
|    ___|       |   -   |   |   |    |  |       |
|_______|__|____|_______|_______|_______|___|___|

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目

暂无相关数据。