1. 缘起

愚人节就要到了,这两天看到一条热度比较高的新闻:微软禁过愚人节。我想,要不今年在朋友圈发张恶搞的图片?何乐而不为呢?

2. 想法

(1) 一开始,我准备发一张空白的图片

  • 分辨率就取 1080p 吧

    • 打开“画图”
    • 按 ctrl+w

(2) 接下来,我觉得写点东西比较好

  • 字体就用 20 号加粗的“微软雅黑”吧
  • 颜色选择“灰色-25%”
  • 写在左下角

(3) 给图片加点料

1) 想起一种把压缩包藏到图片里的方法

  • 关键命令:copy /b a.jpg+b.zip c.jpg
  • 具体做法:
    • 把图片与压缩包放到同一个文件夹(如 d:\magic)中
    • 调出 cmd
    • cd 到那个文件夹
    • 输入上述“关键命令”
      • a.jpg 原图(若是 .png 格式,下方就用 c.png;我试了一下,混用也能成功)
      • b.zip 要藏入的压缩包
      • c.jgp 合成后图片的名字
  • 变回来:
    • 将合成后的图片的后缀改为 zip
    • 解压即可

2) 那压缩包里放什么好呢

  • 要不,用 Python 的 turtle 画一张吧
  • 程序
import turtle as tt
from math import sqrttt.setup(600, 600)          # 设置 600 x 600 的画布并居中
tt.hideturtle()             # 隐藏画笔
tt.pensize(6)               # 设置画笔粗细
tt.pencolor("#00f5ff")      # 设置画笔颜色# 走到右上角
tt.seth(45)
tt.pu()
tt.fd(200)
tt.pd()# 鱼的“脑门”
tt.seth(135)
tt.circle(200, 130)         # 相当于极坐标的 roll(r, angle)# 鱼嘴
tt.pu()
tt.circle(200, 10)
tt.pd()# 鱼腹
tt.circle(200, 130)# 鱼“屁股”
tt.seth(0)
tt.circle(200/sqrt(2), -90)# 鱼尾(开始)
tt.seth(-90)
tt.circle(100, 135)tt.seth(0)
tt.circle(100/sqrt(2), -180)# 鱼尾(结束)
tt.seth(135)
tt.circle(100, 135)# 鱼“后背”
tt.seth(90)
tt.circle(-200/sqrt(2), 90)# 鱼目
tt.pu()
tt.goto(-110, 50)
tt.pd()
tt.circle(20)# 鱼珠
tt.pu()
tt.goto(-113, 70)
tt.pd()
tt.circle(6)# 鱼嘴旁的小气泡
tt.pu()
tt.goto(-230, 60)
tt.pd()
tt.circle(15)# 鱼嘴旁的大气泡
tt.pu()
tt.goto(-250, 120)
tt.pd()
tt.circle(30)# 打个标签
tt.pu()
tt.goto(50, -260)
tt.pd()
tt.write("—— by YorkFish", font=("consolas", 20, "bold"))tt.done()                   # 绘制结束后停住

3) 再加一点艺术感

  • 用 Python 的 pillow 把图片改成字符画
  • 程序
from PIL import Image, ImageFilter# 这个字符串是我随便敲的,就是大小写字母加一些常见字符
codeLib = '''ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>:;+~-,.^"'*`_'''
count = len(codeLib)def transform1(image_file):image_file = image_file.convert("L")                # L 为“黑白模式”codePic = ""                                        # 存储字符for h in range(image_file.size[1]):                 # 图片的纵向像素值for w in range(image_file.size[0]):             # 图片的横向像素值gray = image_file.getpixel((w, h))          # 计算每个点的“灰度值”,也有别的方法codePic += codeLib[ int(count*gray/256)]    # 因为字符串不足 256 个codePic += "\r\n"                               # 回车return codePicfp = open(u"fish.png", "rb")                            # 要变成字符画的原图
image_file = Image.open(fp)
image_file = image_file.resize((int(image_file.size[0]*0.5), int(image_file.size[1]*0.25)))                         # 高质量缩放tmp = open("fish.txt", "w")                             # 变成字符画后的文件
tmp.write(transform1(image_file))
tmp.close()
  • 为方便查看,我调了一下字体

    • 记事本菜单栏 -> 格式 -> 字体 -> consolas -> 2 号

4) 之前作过 Python Challenge 的某题:从一个字符串中找出谜底

  • 我在 [Python3 练习] 009 写过
  • 那就加个彩蛋
  • 用“愚人节快乐”随机替换字符画中的 5 个字符
  • 这样就可以用那个程序的方法检索出这个彩蛋
  • 。。。。。。
  • 不,没有人会这么无聊玩这个游戏的!

3. 缘灭

其实天天都是“愚人节”,前段时间,我在地铁里见到这样一幕:

一位 50 左右的女士接通一个电话,她大声地说:”我现在在医院打针!“这句话一下子将周围人的目光吸引了过去。她没说几句,车厢内响起了报站声,不知电话彼端的人什么反应。

类似的戏码时有发生……

至于这张图片,我已经不想发了。

当然,最后还是祝各位在愚人节玩得愉快!

转载于:https://www.cnblogs.com/yorkyu/p/10625372.html

003 愚人节的“礼物”相关推荐

  1. 1045: 愚人节的礼物

    1045: 愚人节的礼物 时间限制: 1 Sec  内存限制: 128 MB 提交: 169  解决: 137 [提交][状态][讨论版] 题目描述 四月一日快到了,Vayko 想了个愚人的好办法-- ...

  2. HDU 1870 愚人节的礼物 栈的应用

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  3. HDU1870 愚人节的礼物【堆栈+输入输出+水题】

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  4. 愚人节的礼物(HDU1870)

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  5. HDU 1870 愚人节的礼物

    题目链接:愚人节的礼物 解题思路:用栈保存括号,遇到(进栈,)出栈,遇到B输出栈内元素个数.水题. #include<cstdio> #include<cstring> #in ...

  6. HDU1870 愚人节的礼物【堆栈+输入输出】

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  7. 1870 愚人节的礼物

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. c++实现简单的数据结构(1.链表合并 2.士兵队列训练问题 3.Rails 4.Josephus Problem 5.Tree Recovery 6.四则运算 7.愚人节的礼物 8.Web)

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  9. 愚人节的礼物---浅析

    愚人节的礼物 : 这道题将()当做箱子,因而我只需计算在找到B之前至少需要打开多少()即可,在出现(()(B))情况,我们其实无需打开另外一个箱子,只需要直接打开B. 因此这道题的主要思想就是数清楚& ...

最新文章

  1. 补充cpusim图片
  2. Hystrix 超时配置重写
  3. 图灵科普系列丛书封面有奖征集(贴图送书)
  4. scala------------:: , +:, :+, :::, +++的区别
  5. powershell设置了权限依旧无法运行脚本_Power Shell折腾记
  6. Jenkins Pipline语法
  7. mysql的socket文件_修改socket文件, MySQL启动报错
  8. 几何修复_*ST海润:实施终止退市 光伏产业修复成几何?
  9. Elasticsearch报错:NodeDisconnectedException[[][IP:9300][cluster:monitor/nodes/liveness] disc
  10. 董耀祖:云原生是趋势,多云、边缘云也变得很热
  11. 统计学中p值计算公式_统计学中的p值怎么算,具体步骤
  12. 电商项目中遇到的经典问题
  13. swapfile.sys文件的作用及如何禁用Hibernate.sys和Pagefile.sys
  14. Maven clean基本命令
  15. 大数据与个人隐私的平衡:懂你,但不认识你
  16. 读书 | 颠覆者:周鸿祎自传
  17. gitBlit的使用
  18. feko金属球远场RCS双站
  19. 【AI语音】华为EC6110M、Q21AQ、Q21C部分EC6110T、EC6110U_海思3798MV310_通刷_卡刷固件
  20. 台达,AS228T,plc程序模板和触摸屏程序模板,目前6个总线伺服,采用CANOPEN,适用于运动轴控制,程序可以在自动的时候暂停进行手动控制

热门文章

  1. 2021-09-21如何在PCB上做一个城市地铁图?
  2. Linux 服务器 OOM 分析
  3. 陆奇万字长文,讲透企业数字化转型!
  4. 永不消逝的电波(四):从无线电角度揭秘定位劫持
  5. 大漠插件ocr多选字库_易语言大漠插件模块制作设置字库及OcrEx识别字符串
  6. 六十一、2021 - 年终总结(正在拼搏奋斗的酷涛)
  7. mysql5.1为什么programdata文件夹里只有frm文件
  8. python 实践--新闻聚合
  9. CleanMyMac X是干嘛的?及最新版功能介绍
  10. 运用计算机思维可以解决什么问题,现在就开始读懂:什么是计算机思维?