[oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart
牛说(cowsay)
回忆上次内容
我们狂飙了一路
- 从用shell
直接
执行 python程序 - 到用shell
循环
执行 python程序
- 从用shell
循环体中
把
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
[oeasy]python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart的更多相关文章
- python小项目(-)图片转字符画
# -*- coding: utf-8 -*- from PIL import Image codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrj ...
- 用函数式的 Swift 实现图片转字符画的功能
今天整理 Pocket 中待看的文章,看到这篇<Creating ASCII art in functional Swift>,讲解如何用 Swift 将图片转成 ASCII 字符.具体原 ...
- Python 图片转字符画
Python 图片转字符画 一.课程介绍 1. 课程来源 原创 2. 内容简介 本课程讲述怎样使用 Python 将图片转为字符画 3. 前置课程 Python编程语言 Linux 基础入门(新版) ...
- AsciiMorph - 新奇的 ASCII 字符画生成工具&插件
AsciiMorph 是一个新奇的 ASCII 字符画生成工具和开源插件.字符画(ASCII Art)的历史可以追溯到几十年前,起初是用在图形显示功能受限的设备上,用ASCII字符集里的可打印字符来拼 ...
- HTML5将图片转化成字符画
HTML5将图片转化成字符画 字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢?HTML5让这个可能变成了现实,通过canvas,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置 ...
- Swift 实现图片转字符画的功能
本文介绍一个IOS APP , 将图片转换成ASCII字符画,使用Swift语言编写. 举个例子,我们使用著名的蕾娜照片作为原图片 经APP转换后形成的字符画,我们打印出来,效果如下: 放大她的脸部可 ...
- 基于 canvas 将图片转化成字符画
字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢? HTML5 让这个可能变成了现实,通过 canvas,可以很轻松实现这个功能. 其实原理很简单:扫描图片相应位置的像素点,再计算出其灰 ...
- 将图片转为ASCII字符画
原文:将图片转为ASCII字符画 Copyright 2012 Conmajia 源代码下载:点击这里 什么是字符画?就是用ASCII字符来近似组成图像,就像这样: ╭╮ ╭╮ ││ ││ ╭┴┴—— ...
- 中国孩子的micro:bit:TurnipBit自制小乐器教程实例
孩子们是最贪玩的也是最聪明的,因此在过去的数年中,市面上出现了不少寓教于乐的理工科知识(STEM)学习新方法.如今这类产品中又有了一名新成员,TPYBoard重磅推出一款针对小白.中小学生的可编程计算 ...
- Python 视频转字符画 - 进阶
这篇文章是 视频转字符动画-Python-60行代码 的后续,如果感兴趣,请先看看它. 1. 速度优化 要是每次播放都要等个一分钟,也太痛苦了一点. 所以可以用 pickle 模块把 video_ch ...
随机推荐
- 8.4考试总结(NOIP模拟30)[毛一琛·毛二琛·毛三琛]
最有名的莫过于想死一次吗. 前言 至今都不知道题目是个啥... T1 毛一琛 解题思路 \(\mathcal{Meet\;In\;The\;Middle}\) 其实就是一个爆搜... 把整个区间分为两 ...
- vue3+vant 引入Dialog Toast都会失败报错not defined
今天在封装vant组件的时候,刚好要用到toast提示信息的组件,索性就按照官网提供的引入方法进行正常的引入,嘿,好家伙,一顿操作下来后发现竟然报Toast未定义,这就纳闷了,明明步骤都是对的啊,所以 ...
- CPU的一、二、三级缓存的区别
引言 概念 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频 运作,工作效率远远大于系统内存和硬盘.实际工作时,CPU往往 ...
- 前端使用 Konva 实现可视化设计器(16)- 旋转对齐、触摸板操作的优化
这一章解决两个缺陷,一是调整一些快捷键,使得 Mac 触摸板可以正常操作:二是修复一个 Issue,使得即使素材节点即使被旋转之后,也能正常触发磁贴对齐效果,有个小坑需要注意. 请大家动动小手,给我一 ...
- Flink状态(二)
Flink提供了不同的状态存储方式,并说明了状态如何存和存储在哪里. 状态可以被存储在Jvm的堆和堆外.根据状态存储方式的不同,Flink也能代替应用管理状态,意思是Flink能够进行内存管理(有必要 ...
- Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划
为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式. 不然可能需要绕几个弯才能想出来. 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, ...
- Kubernetes容器生命周期 —— 钩子函数详解(postStart、preStop)
1.概述 容器生命周期钩子(Container Lifecycle Hooks)监听容器生命周期的特定事件,并在事件发生时执行已注册的回调函数. 钩子函数能够感知自身生命周期中的事件,并在相应的时刻到 ...
- 高通与At指令:AtCop解析
背景 在某个新基线上移植AT指令,发现有问题,因此收集了这个系列的 文章 作为 这方面的知识补充. 原文作者:laozhuxinlu,本文有删改. 另外,还参考了:https://www.cnblog ...
- IEC103设备数据 转 IEC61850项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 ...
- FM20S用户手册--Linux系统启动卡制作及系统固化