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

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

 

牛说(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

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

                                                  image.gif编辑

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

                                                        image.gif编辑

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

                                                          准备图片

                                                            • 在本机下载图片
                                                              • 之后上传到蓝桥云

                                                                image.gif编辑

                                                                  • 注意 上传的图片 在Code文件夹中
                                                                    • cd Code 可以 进入Code文件夹
                                                                      • 最好选择png格式
                                                                        • 成功概率会提高

                                                                          准备环境 aview 🅰️

                                                                          sudo apt update

                                                                          sudo apt install aview

                                                                          sudo apt install imagemagick

                                                                            • 下载字符画软件
                                                                              • aview
                                                                              • imagemagick

                                                                                image.gif编辑

                                                                                运行程序

                                                                                image.gif编辑

                                                                                  • 使用 asciiview 可以
                                                                                    • 将图片 转化为 asciiart

                                                                                      asciiview panda.jpg

                                                                                      存储字符画

                                                                                        • 通过 查询帮助 📕
                                                                                          • 发现 字符画可以
                                                                                            • 保存为文本、网页等形式
                                                                                                • 在运行
                                                                                                  • asciiview xxx.png之后
                                                                                                  • 出现了 字符画面
                                                                                                  • 注意 图片中的纯黑部分 是以空格形式 来出现的
                                                                                                    • 按下快捷键s
                                                                                                      • 会出现一个菜单
                                                                                                      • 如下图

                                                                                                        image.gif编辑

                                                                                                          • 然后选择Text格式
                                                                                                            • 选 1
                                                                                                            • 后面再设置路径
                                                                                                            • 一路下一步

                                                                                                              保存过程

                                                                                                              image.gif编辑

                                                                                                                • 到这一步 选8

                                                                                                                image.gif编辑

                                                                                                                  • 然后按y
                                                                                                                    • 保存
                                                                                                                    • 然后
                                                                                                                      • 可以关闭小窗
                                                                                                                          • ll 可以看到文件了
                                                                                                                          • 字符画可以长什么样子呢?

                                                                                                                          国画风

                                                                                                                          image.gif编辑

                                                                                                                          image.gif编辑

                                                                                                                          表情风

                                                                                                                          image.gif编辑

                                                                                                                          甲骨文风

                                                                                                                          image.gif编辑

                                                                                                                          image.gif编辑

                                                                                                                          大小选择

                                                                                                                          image.gif编辑

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

                                                                                                                            image.gif编辑

                                                                                                                            线稿风格

                                                                                                                            image.gif编辑

                                                                                                                            image.gif编辑

                                                                                                                              • cat 打开 这个xxx.txt
                                                                                                                                • 观察效果
                                                                                                                                  • 可以 把这个小动物 变成
                                                                                                                                    • cowsay可以用的 小动物吗?

                                                                                                                                      结合 cowsay🐄

                                                                                                                                        • 先找到位置

                                                                                                                                        image.gif编辑

                                                                                                                                          • 复制小动物文件

                                                                                                                                          复制动物

                                                                                                                                          # 在确认 cowsay 已经安装的情况下

                                                                                                                                          cd /usr/share/cowsay/cows

                                                                                                                                          # 复制一个 cow 文件

                                                                                                                                          sudo cp apt.cow oeasy.cow

                                                                                                                                          #使用编辑器编辑

                                                                                                                                          sudo vi oeasy.cow ~/Code/ooo.txt

                                                                                                                                          image.gif编辑

                                                                                                                                          修改字符画

                                                                                                                                            • 新的动物名 cat 可以用了
                                                                                                                                              • 图案 还是 原来的字符画

                                                                                                                                                image.gif编辑

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

                                                                                                                                                  替换字符画

                                                                                                                                                    • 在合适位置dG
                                                                                                                                                      • 把 原来的字符画 删除
                                                                                                                                                        • :r ~/Code/xxx.txt
                                                                                                                                                          • 粘贴上 自己diy的 小动物字符画

                                                                                                                                                            image.gif编辑

                                                                                                                                                              • 话语的斜线有点问题

                                                                                                                                                              修改

                                                                                                                                                                • 修改文字泡泡线

                                                                                                                                                                image.gif编辑

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

                                                                                                                                                                      image.gif编辑

                                                                                                                                                                        • 是不能丢的东西

                                                                                                                                                                        不能丢的东西

                                                                                                                                                                          • 第1行和最后一行的相关头尾不能丢
                                                                                                                                                                            • 还有中间的有些替换字符也要注意
                                                                                                                                                                            • 才能保证.cow文件可用

                                                                                                                                                                              image.gif编辑

                                                                                                                                                                                • 如果要说的话比较多
                                                                                                                                                                                  • 就需要角色要变小一点

                                                                                                                                                                                    角色大小选择

                                                                                                                                                                                    image.gif编辑

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

                                                                                                                                                                                      image.gif编辑

                                                                                                                                                                                      配合报时

                                                                                                                                                                                      image.gif编辑

                                                                                                                                                                                        • 使用新动物

                                                                                                                                                                                        image.gif编辑

                                                                                                                                                                                        渐变色

                                                                                                                                                                                        image.gif编辑

                                                                                                                                                                                        大功告成!

                                                                                                                                                                                          • 可以再配合一些亚文化的话语
                                                                                                                                                                                            • 做成报时动画😁

                                                                                                                                                                                              image.gif编辑

                                                                                                                                                                                                • 将我们diy的好东西
                                                                                                                                                                                                  • 录制成视频
                                                                                                                                                                                                  • 发个动态炫一下
                                                                                                                                                                                                    • 这就是asciiart!!!

                                                                                                                                                                                                    总结

                                                                                                                                                                                                      • 这次我们
                                                                                                                                                                                                        • diy了自己的小动物
                                                                                                                                                                                                        • 还可以让小动物变色、报时
                                                                                                                                                                                                        • 还可以说些怪话
                                                                                                                                                                                                        • 这很亚文化
                                                                                                                                                                                                        • 很酷炫的亚文化
                                                                                                                                                                                                        • 不是吗?
                                                                                                                                                                                                          • 回忆一下我们最最开始研究报时的时候
                                                                                                                                                                                                            • 回到本行行头的方法
                                                                                                                                                                                                            • print("\r"+ascii_time)
                                                                                                                                                                                                            • \r\n 不同
                                                                                                                                                                                                              • 从含义上来看
                                                                                                                                                                                                                • \n - LF - LineFeed - 换行
                                                                                                                                                                                                                • \r - CR - CarriageReturn - 回车
                                                                                                                                                                                                                  目录
                                                                                                                                                                                                                  相关文章
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  1天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  人工智能 C语言 Python
                                                                                                                                                                                                                  [oeasy]python051_什么样的变量名能用_标识符_identifier
                                                                                                                                                                                                                  本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。
                                                                                                                                                                                                                  93 69
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  3天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  Python
                                                                                                                                                                                                                  [oeasy]python050_如何删除变量_del_delete_variable
                                                                                                                                                                                                                  本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
                                                                                                                                                                                                                  96 68
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  5天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  Shell Python
                                                                                                                                                                                                                  [oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
                                                                                                                                                                                                                  本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
                                                                                                                                                                                                                  25 9
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  8天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  Python 容器
                                                                                                                                                                                                                  [oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
                                                                                                                                                                                                                  本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
                                                                                                                                                                                                                  18 5
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  16天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  存储 Python 容器
                                                                                                                                                                                                                  [oeasy]python045_[词根溯源]赋值_assignment_usage_使用
                                                                                                                                                                                                                  本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
                                                                                                                                                                                                                  18 3
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  20天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  开发工具 Python
                                                                                                                                                                                                                  [oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
                                                                                                                                                                                                                  本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
                                                                                                                                                                                                                  20 2
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  27天前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  人工智能 Shell 开发工具
                                                                                                                                                                                                                  [oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
                                                                                                                                                                                                                  本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
                                                                                                                                                                                                                  18 1
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  1月前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  人工智能 开发工具 Python
                                                                                                                                                                                                                  [oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
                                                                                                                                                                                                                  本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
                                                                                                                                                                                                                  12 0
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  7月前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  存储 计算机视觉 Python
                                                                                                                                                                                                                  python实现Gif图片的字符画
                                                                                                                                                                                                                  这是一个Python实战项目,旨在将GIF动态图转化为ASCII字符动画。项目适合有一定Python基础的学习者,主要使用os、imageio、PIL库。首先,代码导入所需库,然后通过PIL创建空白图片并添加文本。接着,程序读取GIF,拆分帧并转为字符画,存入“tmp”目录。同时,代码提供了清空“tmp”目录、将灰度值映射为ASCII字符、将图片处理成字符画的函数。此外,还有创建新画布和合成GIF的步骤。主函数调用这些模块,最终将ASCII字符画合并成GIF。项目展示了将动态图像转换为ASCII艺术的过程。
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  7月前
                                                                                                                                                                                                                  |
                                                                                                                                                                                                                  Python
                                                                                                                                                                                                                  在Python中实现图片转字符画灰度处理或灰色量化
                                                                                                                                                                                                                  在Python中实现图片转字符画灰度处理或灰色量化
                                                                                                                                                                                                                  79 1