1s制作开源项目中启动图案

简介: 运维系列

通过我们在启动spring项目或者其他中间件和小工具的时候,会遇到输出一些有意思的图案,于是也挺好奇这些是如何制作的,于是在网上找到了以下几种实现的工具以及网站可以直接制作,然后在程序启动的时候打印出来这些字符。整理一下分享给大家。

字符图案

我们在使用一些开源软件的时候,启动打开的字符图形很好看,例如下面的字符。于是搜索到了一些网站和工具来实现:

"""
 _              _   _                        
| |            | | ( )                       
| |       ___  | |_|/   ___    __ _    ___   
| |      / _ \ | __|   / __|  / _` |  / _ \  
| |____ |  __/ | |_    \__ \ | (_| | | (_) | 
\_____/  \___|  \__|   |___/  \__, |  \___/  
                               __/ |         
                              |___/                                                                                                                                                                                         
"""

网站taag

CloudNative

可以随意输入内容,调节字体、宽、高。

Ascii图像生成器

同时作者还有另外一个ascii图像生成器

ascii图形生成器

如果想要在python中输出,只需要把上面的字符串赋值然后使用print函数打印即可,需要用多行注释来包含这些字符:

命令行工具figlet

所以首先来安装一下figlet

brew install figlet

figlet输出的图形随着使用的字体的变化而变化,所以可以参考figlet官网找到合适的字体,下载后存放在/usr/local/Cellar/figlet/2.x.x/share/figlet/fonts路径下即可

#输出斜体
figlet -f slant CloudNative
   ________                ___   __      __  _
  / ____/ /___  __  ______/ / | / /___ _/ /_(_)   _____
 / /   / / __ \/ / / / __  /  |/ / __ `/ __/ / | / / _ \
/ /___/ / /_/ / /_/ / /_/ / /|  / /_/ / /_/ /| |/ /  __/
\____/_/\____/\__,_/\__,_/_/ |_/\__,_/\__/_/ |___/\___/

图片图案

在python中显示字符串图片

这种方法的主要原理是利用一组视觉密度不同的字符,按照灰度去替换每一个像素:

  1. 可以将图像的灰度定义为不同的级别来显示:
  • gscale1 = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~i!lI;:,\"^.
  • `gscale2 = "@%#*+=-:. "这种灰度级别少一些
  1. 然后读入图像,将图像映射为长宽等比的矩阵
  2. 然后将颜色灰度值映射到定义的灰度级别上来
import sys
import cv2

grays = "@%#*+=-:. "   #由于控制台是白色背景,所以先密后疏/黑色背景要转置一下
gs = 10                #10级灰度
#grays2 = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~i!lI;:,\"^.` "
#gs2 = 67

img = cv2.imread('demo.png',0)  #读入灰度图

#宽(列)和高(行数)
w = img.shape[1]
h = img.shape[0]
ratio = float(w)/h  #调整长宽比 (**注:此比例为win cmd,ratio需要根据不同终端的字符长宽调整)   

scale = w // 50    #缩放尺度,向下取整,每50个像素取一个 值越小图越小(scale 越大)

for y in range(0, h, int(scale*ratio)):  #根据缩放长度 遍历高度 y对于h,x对应w
    for x in range(0, w, scale):  #根据缩放长度 遍历宽度
        idx=img[y][x] * gs // 255  #获取每个点的灰度  根据不同的灰度填写相应的 替换字符
        if idx==gs:
            idx=gs-1
        sys.stdout.write(grays[idx])  #写入控制台
    sys.stdout.write('\n')
    sys.stdout.flush()

执行以上代码之前,你需要先安装一下pip install opencv-python

找一个图片,修改图片的路径为脚本所在的目录,命名为demo.png,图片如下:

然后执行完Python脚本后,看到处理后的结果为:

看起来还不错哦,哈哈

输出彩色的图像

这里可以在微信公众号后台回复彩蛋即可获取输出彩色图像的Python脚本,这里不再详细展开描述。效果图如下:

相关文章
|
2月前
|
Rust 前端开发 iOS开发
打造《黑神话:悟空》壁纸软件:使用 Tauri 快速上手
本文首发于微信公众号“前端徐徐”。作者分享了如何仅用半天时间实现《黑神话:悟空》桌面壁纸软件的过程,并展示了实际效果。文中详细介绍了使用 Tauri 开发跨平台桌面应用的核心流程与关键技术,包括下载壁纸、更换壁纸以及前后端交互等细节。此外,还提供了源码和下载链接供读者体验。
24 0
打造《黑神话:悟空》壁纸软件:使用 Tauri 快速上手
|
6月前
|
图形学 开发者
【制作100个unity游戏之26】unity2d横版卷轴动作类游11(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游11(附带项目源码)
74 0
|
6月前
|
存储 JSON 自然语言处理
【制作100个unity游戏之26】unity2d横版卷轴动作类游12(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游12(附带项目源码)
66 0
|
6月前
|
图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游9(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游9(附带项目源码)
32 0
|
6月前
|
图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游10(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游10(附带项目源码)
53 0
|
6月前
|
图形学
【unity造轮子】2d制作机枪打击特效
【unity造轮子】2d制作机枪打击特效
25 0
|
安全 iOS开发 MacOS
酷炫的IDEA启动图黑客主题来了
酷炫的IDEA启动图黑客主题来了
175 0
颜值即正义,使用SwiftUI搭建版本更新弹窗
颜值即正义,使用SwiftUI搭建版本更新弹窗
142 0
|
JavaScript Go CDN
君子不玩物丧志,亦常以借物调心,网站集成二次元网页小组件(widget)石蒜模拟器,聊以赏玩
传世经典《菜根谭》中有言曰:“徜徉于山林泉石之间,而尘心渐息;夷犹于诗书图画之内,而俗气潜消。故君子虽不玩物丧志,亦常借物调心。”意思是,徜徉在林泉山石之间,能够摒弃杂念,留意诗词歌画之中,可以尽弃俗见。所以说君子虽然不会玩物丧志,也常常要借一些优雅的小物件来调理情绪,二次元网页小组件(widget)就是这样的小物件,功能上无甚大观,却可以博君一晒。
君子不玩物丧志,亦常以借物调心,网站集成二次元网页小组件(widget)石蒜模拟器,聊以赏玩
|
Java 程序员 Python
程序自定义启动图案
很多程序员都会给项目加上专属的启动图标,给人眼前一亮的感觉。那么我们如何给自己的项目也加上这么炫酷的图标呢?一块来学学吧。
308 0
程序自定义启动图案