第二弹,坐地铁就能学会的3种「非常有趣」的 Python 玩法

作者 | 黄伟呢
来源 | 数据分析与统计学之美
本文说明
1.利用python给小猪佩奇换背景色; 2.利用python将小猪佩奇切分为九宫格; 3.利用python制作小猪佩奇动态二维码;
利用python将小猪佩奇切分为九宫格
将图片切分为九宫格的原理就是:找到图片对应位置的坐标,然后进行切割。由于是九宫格,我们切分的是3*3,然后利用双层循环遍历对应位置的坐标后,进行图片切割。
from?PIL?import?Image
import?sys
#将图片填充为正方形
def?fill_image(image):
????width,?height?=?image.size
????#选取长和宽中较大值作为新图片的,小的地方,用图片填充为等宽等高
????new_image_length?=?width?if?width?>?height?else?height
????#生成新图片[白底]
????new_image?=?Image.new(image.mode,?(new_image_length,?new_image_length),?color='white')
????#将之前的图粘贴在新图上,居中
????if?width?>?height:#原图宽大于高,则填充图片的竖直维度
????????#(x,y)二元组表示粘贴上图相对下图的起始位置
????????new_image.paste(image,?(0,?int((new_image_length?-?height)?/?2)))
????else:
????????new_image.paste(image,?(int((new_image_length?-?width)?/?2),0))
????return?new_image
#切图
def?cut_image(image):
????width,?height?=?image.size
????item_width?=?int(width?/?3)
????item_height?=?int(height?/?3)
????box_list?=?[]
????#双重循环,生成9张图片基于原图的位置
????#注意:图片左上角是(0,0),右下角是(width,height)
????for?i?in?range(0,3):
????????for?j?in?range(0,3):
????????????print((j*item_width,i*item_height,(j+1)*item_width,(i+1)*item_height))
????????????box?=?(j*item_width,i*item_height,(j+1)*item_width,(i+1)*item_height)
????????????box_list.append(box)
?
????image_list?=?[image.crop(box)?for?box?in?box_list]
????return?image_list
#保存
def?save_images(image_list):
????index?=?1
????for?image?in?image_list:
????????image.save(str(index)?+?'.jpg')
????????index?+=?1
?
file_path?=?"zhuzhu.jpg"
image?=?Image.open(file_path)
image?=?fill_image(image)
image_list?=?cut_image(image)
save_images(image_list)结果如下:



分享

点收藏

点点赞

点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675


AI100
