SpringBoot 黑科技——图片转 ACSII 图

本贴最后更新于 2585 天前,其中的信息可能已经时异事殊

     **********      .****************************.        **********     
     *********           *****.             .**             *********     
     *********                                              *********     
     *********         .                                    .********     
     *********      .                                       .********     
     *********    .                                          ********     
     *********  ...                                          ********     
     ********* ....                                          ********     
     *******  .....                                    ...  . *******     
     ******  .....                                    ........ ******     
     ****** .....o888888888.            :88888888888888........ *****     
     ***** ....8.   88888888o.........*8.       88888888o........****     
     *****.....8:   *8888888...........o88&o**..8888888&........ ****     
     **** ..      :oooo:...        .............          ...... ****     
     ****             ...             .....                   ...****     
     ****                                                        ****     
     ****              888888888o                                ****     
     *****             o88888888&                                ****     
     *****              o888888                                  ****     
     *****                .8&                                   *****     
     ******          :8:   88            88&                    *****     
     *******          .8888888    *o&8888*                    .******     
     ********              &8888888&:                         *******     
     *********                                              .********     
     ***********                                           **********     
     ***********                                          ***********     
     **********                                            **********     
     *********.                                             *********     
     *********                                              *********     
     *********                                               ********     
     ********.                                               ********     
	 
	

把图片放到 spring boot 项目里,命名为 banner,就会在启动的时候展示转换为字符的结果
就是精度不太高,不过已经很 6 了哈哈

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    942 引用 • 1459 回帖 • 92 关注
  • ASCII
    2 引用 • 11 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • smart 2

    翻了翻 springboot 源码,图片是下边这个类转换的。
    回复字数限制有删减,凑合看吧,完整版可以自行翻看源码。Banner 接口有好几个实现,这是其中一个。

    package org.springframework.boot;
    
    public class ImageBanner implements Banner {
    	private BufferedImage readImage(int width, int height) throws IOException {
    		InputStream inputStream = this.image.getInputStream();
    		try {
    			BufferedImage image = ImageIO.read(inputStream);
    			return resizeImage(image, width, height);
    		}
    		finally {
    			inputStream.close();
    		}
    	}
    	private void printBanner(BufferedImage image, int margin, boolean invert,
    			PrintStream out) {
    		AnsiElement background = (invert ? AnsiBackground.BLACK : AnsiBackground.DEFAULT);
    		out.print(AnsiOutput.encode(AnsiColor.DEFAULT));
    		out.print(AnsiOutput.encode(background));
    		out.println();
    		out.println();
    		AnsiColor lastColor = AnsiColor.DEFAULT;
    		for (int y = 0; y < image.getHeight(); y++) {
    			for (int i = 0; i < margin; i++) {
    				out.print(" ");
    			}
    			for (int x = 0; x < image.getWidth(); x++) {
    				Color color = new Color(image.getRGB(x, y), false);
    				AnsiColor ansiColor = AnsiColors.getClosest(color);
    				if (ansiColor != lastColor) {
    					out.print(AnsiOutput.encode(ansiColor));
    					lastColor = ansiColor;
    				}
    				out.print(getAsciiPixel(color, invert));
    			}
    			out.println();
    		}
    		out.print(AnsiOutput.encode(AnsiColor.DEFAULT));
    		out.print(AnsiOutput.encode(AnsiBackground.DEFAULT));
    		out.println();
    	}
    }
    
  • 其他回帖
  • Stone

    厉害了 word 哥

  • ZephyrJung

    这张图比较简单转化结果比较明显
    一开始放了一张猫,基本只能看出轮廓……

  • 看出来了,这是你

  • 查看全部回帖
ZephyrJung
一切有为法,如梦幻泡影,如露亦如电,应作如是观 北京

推荐标签 标签

  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4599 回帖 • 706 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 2 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 454 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    89 引用 • 897 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 1 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 20 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 1 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖 • 6 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 46 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 12 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    51 引用 • 226 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 22 关注
  • 安全

    安全永远都不是一个小问题。

    197 引用 • 813 回帖 • 2 关注
  • danl
    100 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖 • 1 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 603 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 397 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 58 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    119 引用 • 171 回帖
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 2 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 274 关注