Python图片裁剪实例代码(如头像裁剪)


Posted in Python onJune 21, 2017

今天就来说个常用的功能,图片裁剪,可用于头像裁剪啊之类的。用的还是我们之前用的哪个模块pillow

1. 安装pillow

用pip安装

pip install pillow

2. 图片裁剪

2.1 准备一张图片

Python图片裁剪实例代码(如头像裁剪)

2.2 我们使用的是Image中的crop(box)功能,它需要一个参数box,元组 类型,元组包括4个元素,如:
(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h)

如图:(x, y, x+w, y+h), x,y是裁剪框左上角的坐标, x+w,y+h是右下角的坐标

Python图片裁剪实例代码(如头像裁剪)

2.3 上代码1-裁剪:

# -*-coding:utf-8-*-
from PIL import Image
im = Image.open("renren.jpeg")
# 图片的宽度和高度
img_size = im.size
print("图片宽度和高度分别是{}".format(img_size))
'''
裁剪:传入一个元组作为参数
元组里的元素分别是:(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h)
'''
# 截取图片中一块宽和高都是250的
x = 100
y = 100
w = 250
h = 250
region = im.crop((x, y, x+w, y+h))
region.save("./crop_test1.jpeg")

# 截取图片中一块宽是250和高都是300的
x = 100
y = 100
w = 250
h = 300
region = im.crop((x, y, x+w, y+h))
region.save("./crop_test2.jpeg")

运行结果:

(venv) allenwoo@~/renren/code$ python test.py
图片宽度和高度分别是(500, 500)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

2.4 上代码2-平均切割成4块:

# 把图片平均分成4块
# 第1块
w = img_size[0]/2.0
h = img_size[1]/2.0
x = 0
y = 0
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-1.jpeg")

# 第2块
x = w
y = h
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-2.jpeg")

# 第3块
x = 0
y = h
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-3.jpeg")

# 第4块
x = w
y = 0
region = im.crop((x, y, x+w, y+h))
region.save("./crop_average-4.jpeg")

运行结果:

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

2.5 上代码3-旋转图片:

# 旋转图片
# 左旋转45度
im = im.rotate(45)
im.save("./rotate-l45.jpeg")

# 右旋转30度
im = im.rotate(-30)
im.save("./rotate-r30.jpeg")

# 右旋转45度, 并裁剪一块
im = im.rotate(-30)
x = 50
y = 50
w = 150
h = 150
region = im.crop((x, y, x+w, y+h))
region.save("./rotate-r30-crop.jpeg")

运行结果:

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

Python图片裁剪实例代码(如头像裁剪)

好了,到这里你完全可以做个头像裁剪了的后端操作了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于scrapy实现的简单蜘蛛采集程序
Apr 17 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python中的TCP socket写法示例
May 11 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
Python语言进阶知识点总结
May 28 Python
pip指定python位置安装软件包的方法
Jul 12 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
Jul 22 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
Python 实现平台类游戏添加跳跃功能
Mar 27 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
Python编程实战之Oracle数据库操作示例
Jun 21 #Python
Python获取SQLite查询结果表列名的方法
Jun 21 #Python
基于hashlib模块--加密(详解)
Jun 21 #Python
详谈Python基础之内置函数和递归
Jun 21 #Python
浅谈python内置变量-reversed(seq)
Jun 21 #Python
python 简单的绘图工具turtle使用详解
Jun 21 #Python
利用python批量给云主机配置安全组的方法教程
Jun 21 #Python
You might like
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
JavaScript Prototype对象
2009/01/07 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
2013年高中生自我评价
2013/10/23 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang