1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Python黑科技】把秘密写在照片里(保姆级图文+实现代码)

【Python黑科技】把秘密写在照片里(保姆级图文+实现代码)

时间:2020-11-19 19:56:45

相关推荐

【Python黑科技】把秘密写在照片里(保姆级图文+实现代码)

目录

实现效果小图片大图片图片素材和源码实现思路实现代码总结

欢迎关注 『Python黑科技』 系列,持续更新中

欢迎关注 『Python黑科技』 系列,持续更新中

实现效果

图片大小会变大(长宽和占用空间都变大)。

小图片

像素点太少,效果不是很理想

效果对比

局部放大细节

大图片

大图片明显效果好,但是注意,如果图片太大了,绘制的时间比较久,甚至出现python报错MemoryError

我这还是300KB的图片,我试了一个8MB就不行了。

效果对比

局部放大细节


图片素材和源码

已经上传至我的gitee仓库

python黑科技


实现思路

导入图片,图片与py文件在同一文件夹路径下导入字体,绘制字体小图遍历绘图,用字体小图替换大图照片中的像素点。要等待很久,如果你的图片比较大的话(我300KB的图要等1分钟左右,可能是我的老年机的问题吧)

实现代码

import timefrom PIL import Image,ImageDraw,ImageFontfrom PIL import Image,ImageFileimg_king_size = 20#像素放大尺寸,会影响大小text = '发现你走远了'#输入文字内容font = ImageFont.truetype('simsun.ttc',img_king_size)#设置字体#导入图片,#注意,这个图片有大小要求,我300Kb的图片变成了37mb,而且运行了很久,如果你的图片很大,python会报内存错误MemoryError#但是像素点太少颜色对比不明显的图片虽然很快运行成功但是效果很差,不明显,所以要做好取舍。#imgName=input("请输入图片名称:\n")imgName = 'bigPhoto.jpg'#打开图片img = Image.open(imgName)img_w,img_h = img.size#创建一个小图,用于填充字体img_child = Image.new("RGB", (img_king_size, img_king_size))#创建一个大图,装备用来填充小图字体img_ans = Image.new("RGB",(img_w * img_king_size,img_h * img_king_size))#获取单个文字的宽和高text_w,text_h = font.getsize('中')#文字水平居中offset_x = (img_king_size - text_w) >> 1#文字垂直居中offset_y = (img_king_size - text_h) >> 1char_index = 0draw = ImageDraw.Draw(img_child)#小图用于绘制文字print("图片开始绘制,可能要很久,请耐心等待")#遍历原图的每一个像素点,把像素点换为文字for x in range(img_w):for y in range(img_h):#绘制背景,让图片更好看draw.rectangle((0,0,img_king_size,img_king_size),fill = 'lightgray')#用(x,y)处的像素点的色值进行绘制字体draw.text((offset_x,offset_y),text[char_index],font = font,fill = img.getpixel((x,y)))img_ans.paste(img_child,(x * img_king_size,y * img_king_size))char_index = (char_index + 1) % len(text)timeNow=time.strftime("%Y-%m-%d-%H-%M-%S-",time.localtime(int(time.time())))#获取当前时间img_ans.save("有秘密的-"+timeNow+imgName)print("图片保存成功")


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python黑科技!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright mzh

Crated:-2-1

欢迎关注 『Python黑科技』 系列,持续更新中

欢迎关注 『Python黑科技』 系列,持续更新中

【Python黑科技】tkinter库实战7个小项目合集(保姆级图文+实现代码)

【Python黑科技】tkinter库实战制作一个计算器(保姆级图文+实现代码)

【Python黑科技】tkinter库实战制作一个记事本(保姆级图文+实现代码)

【Python黑科技】tkinter库实战用户的注册和登录(保姆级图文+实现代码)

【Python黑科技】tkinter库实战“2048”小游戏(保姆级图文+实现代码)

【Python黑科技】tkinter库实战“俄罗斯方块”小游戏(保姆级图文+实现代码)

【Python黑科技】tkinter库实战“贪吃蛇”小游戏(保姆级图文+实现代码)

【Python黑科技】tkinter库实战“连连看”小游戏(保姆级图文+实现代码)

【Python安装第三方库一行命令永久提高速度】

【使用PyInstaller打包exe】

【免登陆爬虫一键下载知乎文章图片(保姆级图文+实现代码)】

【孤独的程序员和AI机器人朋友聊天解闷(免费接口+保姆级图文+实现代码注释)】

【几行代码绘制gif动图(保姆级图文+实现代码)】

【几行代码实现网课定时循环截屏,保存重要知识点(保姆级图文+实现代码)】

【常用的user_agent 浏览器头爬虫模拟用户(保姆级图文+实现代码)】

【更多内容敬请期待】


本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。