怎么用python表白_无限翻折!Python教你制作表白贺卡

0.jpeg

◆ ◆ ◆

作者 | 致宏

广州大学数学系

一年一度的撒狗粮节已经过去

不知道大家是过上了甜蜜的二人生活

还是每天抓耳挠腮地熬夜加班

如果你正犹豫怎么行动

下边这张创意卡片或许可以给你助助力

640.gif

"我喜欢你"× ∞

640.gif

可设置交替画面

卡片效果不错,制作方法如下Ps 制作

1. 绘制框线图

640.jpeg

2. 图片裁切

640.jpeg

3. 分组填充

640.jpeg

4. 打印,折纸

640.gif

图片裁切比较费时

卡片多了容易忙不过来

这时候,万能工具 Python 就该登场了。

640.jpeg

学习一个新工具,最快的上手方式自然是

不断使用这一工具

Python 有PIL,OpenCV,Scikit-Image 等

丰富的图片处理库,正好借这个机会

熟悉PIL库的函数使用Python 编码

编程目的:输入图片,自动生成成品图

函数代码如下:#输入:被粘贴图片,粘贴图片,小块尺寸,粘贴位置def pic_paste(img,pic,size,location): im = Image.open(pic) #粘贴图片im #裁剪图片 [width,height] = im.size #图片信息 l = min (height,width) #取短边 a = l//2 l = 2*a #切块顺序,左上,右上,右下,左下 boxs = [(0,0,a,a),(a,0,l,a),(a,a,l,l),(0,a,a,l)] slice_list = [im.crop(i) for i in boxs] #存储切块 #斜切拉伸 pictures = [] #储存拉伸后的图片 for i,pic in enumerate(slice_list): pic = pic.rotate(i*90-45,expand=True) #旋转图片,角度分别为 -45,45,135,-135 (逆时针) pictures.append(pic.resize(size)) #拉伸并保存 #粘贴图像 x,y = location for i,pic in enumerate(pictures): img.paste(pic,(x+i*w,y)) img.paste(pictures[0],(x+4*w,y)) #末尾追加 return img

主函数代码from math import sqrtfrom PIL import Imageh = 300 #设定裁剪方块像素w = int(300*sqrt(2))img1 = Image.new("RGBA",(int(4.5*w),int(2.5*h)),"black") #新建空白图片img2 = Image.new("RGBA",(int(4.5*w),int(2.5*h)),"black") #尺寸 4.5×2.5 #输入图片pic1 = input("Input picture names\nPic1:")pic2 = input("Pic2:")pic3 = input("Pic3:")pic4 = input("Pic4:")#裁剪并粘贴pic_paste(img1,pic1,(w,h),(0,0)) #位置1pic_paste(img1,pic1,(w,h),(0,2*h)) #位置5pic_paste(img2,pic2,(w,h),(-w//2,h//2))#位置2pic_paste(img1,pic3,(w,h),(0,h)) #位置3pic_paste(img2,pic4,(w,h),(-w//2,-h//2))#位置0pic_paste(img2,pic4,(w,h),(-w//2,h+h//2))#位置4im = Image.blend(img1,img2,1) #图片融合im = im.point(lambda i:i*2)im.save("output.png")input("输出完毕!")

案例中用了Image模块函数,下边逐个介绍from PIL import Image #导入模块

1.读入图片 Image.openim = Image.open(picture_name)

2.获取图片大小 .size[width,height] = im.size

3.切块 .cropim.crop(box=None)#box为四元数组,标记盒子的左上与右下位置

4.图片旋转 .rotateim.rotate(angle, resample=0, expand=0, center=None, translate=None)#expend设置图片旋转后的大小自适应

5.拉伸图片 .resizeim.resize(size, resample=0, box=None)

6.粘贴图片 .pasteim.paste(pic,(x,y), mask=None) #把pic粘贴到img的(x,y)位置

7.新建空白图片 Image.newim.paste(pic,(x,y), mask=None) #把pic粘贴到img的(x,y)位置

8.图片混合 Image.blendImage.blend(img1,img2,alpha)#输出 :img1 * (1.0 - alpha) + img2 * alpha

9.点操作 .pointim = im.point(lambda i:i*2)#像素增强100%

- 小结 -

Python 编程制卡

相比 Photoshop 省下了不少时间

如果是电脑小白,也不必担心

后台回复”四阶折纸”

获取链接,制作你的专属贺卡!

640.gif

程序制图

实际上,无限翻折卡片有好几个家族

上边提到的只是其中一种n阶无限翻折

640.gif

三阶翻折

640.gif

四阶翻折

通过简单的数学推导,容易证明

n阶翻折(n≥3) 均存在

n阶卡片的 p图 难度增加

但 Python 编程却很简单

感兴趣的话,点击在看,有机会再开更下篇

640.gif

喜欢,就点个赞再走呗~感谢阅读

640.png

推荐阅读:

1:互联网薅羊毛指南

2:

3:任正非:5G 背后有个不谈恋爱的小伙子

4:2018年Python爱好者社区历史文章合集(作者篇)

5:2018年终精心整理|Python爱好者社区历史文章合集(类型篇)

640.jpeg

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
weixin102旅游社交微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值