Python图片裁剪实例代码(如头像裁剪)
发布时间 - 2026-01-11 01:59:29 点击率:次今天就来说个常用的功能,图片裁剪,可用于头像裁剪啊之类的。用的还是我们之前用的哪个模块pillow

1. 安装pillow
用pip安装
pip install pillow
2. 图片裁剪
2.1 准备一张图片
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是右下角的坐标
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)
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")
运行结果:
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+opencv裁剪/截取图片的几种方式
# Python实现图片裁剪的两种方式(Pillow和OpenCV)
# python实现自动网页截图并裁剪图片
# python实现对图片进行旋转
# 放缩
# 裁剪的功能
# python通过opencv实现图片裁剪原理解析
# Python图片处理之图片裁剪教程
# Python OpenCV实现裁剪并保存图片
# python openvc 裁剪、剪切图片 提取图片的行和列
# 一文教会你用python裁剪图片
# 都是
# 的是
# 好了
# 作了
# 做个
# 如图
# 就来
# 大家多多
# 说个
# 后端
# 组里
# 可用于
# br
# crop
# Image
# box
# PIL
# import
# im
# utf
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
长沙企业网站制作哪家好,长沙水业集团官方网站?
PHP 500报错的快速解决方法
如何在腾讯云服务器快速搭建个人网站?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel如何实现多对多模型关联?(Eloquent教程)
googleplay官方入口在哪里_Google Play官方商店快速入口指南
企业网站制作这些问题要关注
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何快速查询域名建站关键信息?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
php结合redis实现高并发下的抢购、秒杀功能的实例
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel怎么实现模型属性的自动加密
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
在线制作视频的网站有哪些,电脑如何制作视频短片?
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
详解Huffman编码算法之Java实现
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
香港服务器部署网站为何提示未备案?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Android利用动画实现背景逐渐变暗
独立制作一个网站多少钱,建立网站需要花多少钱?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
创业网站制作流程,创业网站可靠吗?
如何在橙子建站中快速调整背景颜色?
开心动漫网站制作软件下载,十分开心动画为何停播?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
,网页ppt怎么弄成自己的ppt?
Laravel如何配置Horizon来管理队列?(安装和使用)
网易LOFTER官网链接 老福特网页版登录地址
Laravel如何保护应用免受CSRF攻击?(原理和示例)
新三国志曹操传主线渭水交兵攻略
如何快速重置建站主机并恢复默认配置?
bing浏览器学术搜索入口_bing学术文献检索地址
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Java遍历集合的三种方式
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速生成凡客建站的专业级图册?
如何用PHP快速搭建CMS系统?

