当前位置: 首页 > news >正文

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

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

1. 安装pillow

用pip安装

pip install pillow

2. 图片裁剪

2.1 准备一张图片

2017062114032324.jpg

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是右下角的坐标

2017062114032525.png

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)

2017062114032526.jpg

2017062114032627.jpg

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")

运行结果:

2017062114032628.jpg

2017062114032629.jpg

2017062114032730.jpg

2017062114032731.jpg

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")

运行结果:

2017062114032832.jpg

2017062114032933.jpg

2017062114032934.jpg

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

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

本文标题: Python图片裁剪实例代码(如头像裁剪)

本文地址: http://www.cppcns.com/jiaoben/python/194357.html

相关文章:

  • python视频转换字符动画_视频转字符动画
  • python的requests模块功能_Python中requests模块的核心使用(上)
  • python分块处理功能_在python3下对数据分块(8x8大小)使用OpenCV的离散余弦变换DCT
  • mlp神经网络_PyTorch可视化理解卷积神经网络
  • python word处理_用python处理MS Word的实例
  • python安装成功是什么样的图片_python 图像处理(从安装Pillow开始)
  • python求最大素数_Python实现求最大公约数及判断素数的方法
  • java assert使用场景_Java基础:详解equals
  • vs code 如何版本控制_codeserver 是如何把 vscode 搬到浏览器的
  • work节点使用外部包_unity DOTS中的JobComponentSystem使用介绍
  • python控制手机自动刷新闻_如何使用python控制手机(以微信游戏跳一跳为例)
  • 在线编译python的_python在线编译器的简单原理及简单实现代码
  • springboot 拦截器 favicon.ico 404_基于Spring Boot的RESTful API项目种子参考(骨架)
  • sessionid会重复吗_springboot2.2.X手册:分布式系统下,重复提交的解决方案
  • mysqld --initialize --console失败_分享一个mysql awr系统--类似于oracle awr或statspack集中式监控...
  • python3.6+scrapy+mysql 爬虫实战
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • centos安装java运行环境jdk+tomcat
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Java反射-动态类加载和重新加载
  • orm2 中文文档 3.1 模型属性
  • quasar-framework cnodejs社区
  • Web设计流程优化:网页效果图设计新思路
  • 高性能JavaScript阅读简记(三)
  • 如何选择开源的机器学习框架?
  • 使用Gradle第一次构建Java程序
  • 思维导图—你不知道的JavaScript中卷
  • 优化 Vue 项目编译文件大小
  • 智能合约Solidity教程-事件和日志(一)
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #、%和$符号在OGNL表达式中经常出现
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (1)(1.11) SiK Radio v2(一)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)选择元素——(17)练习(Exercises)
  • (NSDate) 时间 (time )比较
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (九)信息融合方式简介
  • (论文阅读11/100)Fast R-CNN
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (轉)JSON.stringify 语法实例讲解
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .dwp和.webpart的区别
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET开发者必备的11款免费工具
  • .Net组件程序设计之线程、并发管理(一)
  • // an array of int
  • @AutoConfigurationPackage的使用
  • [ SNOI 2013 ] Quare