[oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart

news2024/11/19 17:30:47

牛说(cowsay)

回忆上次内容

  • 我们狂飙了一路

    • 从用shell 直接执行 python程序
    • 到用shell 循环执行 python程序
  • 循环体中

    • python的 输出结果

      • 用管道 交给了 figlet
    • figlet的 输出结果

      • 用管道 交给了 cowsay
    • cowsay的 输出结果

      • 用管道 交给了 lolcat
  • 最后

    • 提权 直接运行 shell程序
  • 这一路真的好远啊!

    • python3 是脚本解释器
    • shell 也是脚本解释器
  • 其实我们是

    • 在shell中 利用 python3的 输出结果
    • 用shell 把 python和figlet等程序 粘了起来
    • 不过这一路 真的好绕

      • 要是能在 py文件里 直接调用 shell中的命令 就好了
  • 那个时候

    • python 就成了胶水的主体

      • 完成粘合的工作
    • 也许有一天可以做到
  • 可以自己 diy一个小动物 来报时吗?🤔

ascii_art

  • 这是一门非常年轻的亚文化

  • 搜索asciiart

    • 有很多有意思的asciiart 可以下载

  • 能否将图片 转化为asciiart 呢?

准备图片

  • 在本机下载图片

    • 之后上传到蓝桥云

  • 注意 上传的图片 在Code文件夹中

    • cd Code 可以 进入Code文件夹
  • 最好选择png格式

    • 成功概率会提高

准备环境 aview 🅰️

sudo apt update
sudo apt install aview
sudo apt install imagemagick
  • 下载字符画软件

    • aview
    • imagemagick

运行程序

  • 使用 asciiview 可以

    • 将图片 转化为 asciiart
asciiview panda.jpg

存储字符画

  • 通过 查询帮助 📕

    • 发现 字符画可以

      • 保存为文本、网页等形式
  • 在运行

    • asciiview xxx.png之后
    • 出现了 字符画面
    • 注意 图片中的纯黑部分 是以空格形式 来出现的
  • 按下快捷键s

    • 会出现一个菜单
    • 如下图

  • 然后选择Text格式

    • 选 1
    • 后面再设置路径
    • 一路下一步

保存过程

  • 到这一步 选8

  • 然后按y

    • 保存
    • 然后

      • 可以关闭小窗
  • ll 可以看到文件了
  • 字符画可以长什么样子呢?

国画风

表情风

甲骨文风

大小选择

  • 可以设置分辨率为四分之一大小

线稿风格

  • cat 打开 这个xxx.txt

    • 观察效果
  • 可以 把这个小动物 变成

    • cowsay可以用的 小动物吗?

结合 cowsay🐄

  • 先找到位置

  • 复制小动物文件

复制动物

# 在确认 cowsay 已经安装的情况下
cd /usr/share/cowsay/cows
# 复制一个 cow 文件
sudo cp apt.cow oeasy.cow
#使用编辑器编辑
sudo vi oeasy.cow ~/Code/ooo.txt

修改字符画

  • 新的动物名 cat 可以用了

    • 图案 还是 原来的字符画

  • 怎么使用diy的字符画呢?

替换字符画

  • 在合适位置dG

    • 把 原来的字符画 删除
  • :r ~/Code/xxx.txt

    • 粘贴上 自己diy的 小动物字符画

  • 话语的斜线有点问题

修改

  • 修改文字泡泡线

  • 注意!

    • 前5行和最后一行
    • 都是有意义的
    • 是cowsay的结构

  • 是不能丢的东西

不能丢的东西

  • 第1行和最后一行的相关头尾不能丢

    • 还有中间的有些替换字符也要注意
    • 才能保证.cow文件可用

  • 如果要说的话比较多

    • 就需要角色要变小一点

角色大小选择

  • 可以设置分辨率为四分之一大小

配合报时

  • 使用新动物

渐变色

大功告成!

  • 可以再配合一些亚文化的话语

    • 做成报时动画😁

  • 将我们diy的好东西

    • 录制成视频
    • 发个动态炫一下
  • 这就是asciiart!!!

总结

  • 这次我们

    • diy了自己的小动物
    • 还可以让小动物变色、报时
    • 还可以说些怪话
    • 这很亚文化
    • 很酷炫的亚文化
    • 不是吗?
  • 回忆一下我们最最开始研究报时的时候

    • 回到本行行头的方法
    • print("\r"+ascii_time)
    • \r\n 不同
  • 从含义上来看

    • \n - LF - LineFeed - 换行
    • \r - CR - CarriageReturn - 回车
  • 换行和回车具体有什么不同吗?🤔
  • 我们下次再说!👋
  • 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
  • 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

课程设计 | 学生成绩管理系统

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

减小 Go 代码编译后的二进制体积

1 基线用例 减小编译后的二进制的体积,能够加快程序的发布和安装过程。接下来呢,我们分别从编译选项和第三方压缩工具两方面来介绍如何有效地减小 Go 语言编译后的体积。 我们采用同一个测试工程来测试不同方式的效果。 使用的测试工程如下&#xff0…

SQL全自动化检查神器

介绍 Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易! 功能介绍 SQL查询查询…

Prometheus配合 alertmanager 使用邮箱报警

部署Prometheus 和 Alertmanager略 安装包部署prometheusGrafananode_exporter_争取不加班!的博客-CSDN博客 prometheus监控报警部署Alertmanager_争取不加班!的博客-CSDN博客 编辑Alertmanager配置文件 vim alertmanager/alertmanager.yml global: res…

MySQL高可用之主备同步:MySQL是如何保证主备一致的

🏆今日学习目标: 🍀MySql是如何保证主备一致的 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入:…

【Java编程进阶】封装继承多态详解

推荐学习专栏:Java 编程进阶之路【从入门到精通】 文章目录 1. 封装2. 继承2.1 继承的语法2.2 子类重写父类的方法2.3 子类隐藏父类的方法2.4 super 关键字2.5 final 关键字2.6 父类子类类型转换3. 多态4. 总结Java 是一门面向对象程序设计语言,其具有封装,继承和多态三大特…

面向对象的特征之三:多态性

文章目录一、理解多态性二、什么是多态性三、多态性的使用——虚拟方法调用四、多态性使用前提五、适用范围六、虚拟方法调用详细介绍多态性是编译期的还是运行期的?举例每日一考七、instanceof关键字的使用引入:关于多态性的讨论向下转型:in…

Linux-7 文本编辑vi/vim

Linux-7 文本编辑vi/vim vim介绍 什么是vim? vi和vim是Linux下的一个文本编辑工具。(可以李姐为Windows的记事本或word文档) 为什么要使用vim? 因为Linux系统一切皆为文件,而我们工作最多的就是修改某个服务的配置&a…

网络安全——投票系统缺陷(靶场实战)

我们需要利用漏洞来把投票信息刷到第一位 我们可以利用 HTTP_X_FORWARDED_FOR 来进行获取伪造 我们再次进行投票的时候,我们抓取数据包的格式 我们采用上述方法进行伪造 增加变量,我们采用多IP攻击 选中247点击send to Intruder 选中247和1点击 add&…

基于Xlinx的时序分析与约束(8)----关于时序路径、时钟悲观度和建立时间/保持时间的一些问题

写在前面 最近研究vivado里的时序分析路径时,发现了3个很有意思的问题。经过一番查找资料后,总算把问题搞明白了,在这里分享给大家。 1、为什么同一条时序路径在报表里的值不一样? 在如下文件建立的工程中: module te…

Window10下配置Maxim SDK

参考网址: 微信(中文):【嵌入式AI开发&Maxim篇一】美信Maxim78000Evaluation Kit AI部署流程初探 GitHub:MaximAI_Documentation/MAX78000_Feather at master MaximIntegratedAI/MaximAI_Documentation 下载地址…

【回答问题】ChatGPT上线了!如何安装python-ipopt?python-ipopt有哪些用法?

如何安装python-ipopt? 要安装 python-ipopt,你需要先安装 Ipopt 库。这个库是用 C 编写的,所以你还需要安装一些 C 编译器。 在 Linux 系统上,你可以使用下面的命令来安装 Ipopt 和相关的依赖项: 复制 sudo apt-g…

excel成本统计:如何进行区域筛选,多条件求和?

最近有位小伙伴被一个计算产品成本的问题难住了,要求是根据配件成本核算出成品的成本。这个问题看上去似乎有点复杂,感觉一下子想不出好的解决办法,实际上,却非常简单,而且仅用常见的求和函数,就能轻松解决…

Mybatis源码分析(四)Mapper文件的解析

目录一 Mapper的使用二 MapperElement的解析三 解析cache-ref节点四 解析Cache节点五 解析ParameterMap节点六 解析ResultMap节点七 解析Sql节点八 处理各个数据库操作语句官网:mybatis – MyBatis 3 | 简介 参考书籍:《通用源码阅读指导书:M…

【每日一题】【LeetCode】【第一天】三数之和

三数之和的解决之路 题干表述 测试案列(部分) 第一次思路 这种其实是最暴力的,也是我脑海里第一个想到的最简单的方法了。 思路就是三个循环,一个循环去一个数,然后当三个下标不同,且对应的三个数相加为…

FPGA设计CPU书籍

一直以来CPU内部是绝大多数IT工程师难以触及的领域。纵使学习过计算机架构相关课程,自己动手实现CPU也始终遥不可及,因为这涉及计算机系统的最底层——芯片设计。 而近年来FPGA芯片产品的发展与普及打破了这一阻碍,利用内部电路可重编程的FPG…

【C++进阶】IO流

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

Docker进阶(中)

docker 进阶(中)docker提交镜像等命令docker 镜像原理docker 私有库&推送到私有库容器数据卷docker 安装常规软件docker提交镜像等命令 再这个谈这个docker 提交这个镜像之前我们先补充一下上一篇博客没有谈到的命令。再这里说一下。我们之前谈到的…

代码随想录算法训练营第六天 java :242.有效的字母异位词 349. 两个数组的交集 ,1. 两数之和

文章目录哈希表理论基础哈希碰撞: 拉链法和线性探测法线性探测法Leetcode242.有效的字母异位词题目链接思路AC代码Leetcode349. 两个数组的交集题目链接思路AC代码Leetcode 1. 两数之和题目链接思路与难点AC代码收获今日收获哈希表理论基础 哈希函数如下图所示&…

【C++】string (上)(string类的常用接口 string类对象的容量操作 string类对象的访问及遍历操作 string类对象的修改操作)

文章目录string标准库中的string类string类的常用接口string类对象的容量操作string类对象的访问及遍历操作string类对象的修改操作string string是一个专门管理字符数组的类。 标准库中的string类 string是表示字符串的字符串类该类的接口与常规容器的接口基本相同&#xff0…