专栏名称: Python之禅
分享Python相关技术干货,偶尔扯扯其它的
目录
相关文章推荐
Python爱好者社区  ·  节后第一个私活,赚了3w ·  2 天前  
Python爱好者社区  ·  python接私活,yyds ·  昨天  
Python爱好者社区  ·  DeepSeek 最新中国大学排名 ·  昨天  
Python开发者  ·  “李飞飞团队50 美元炼出 ... ·  4 天前  
Python爱好者社区  ·  英伟达憾失DeepSeek关键人才?美国放走 ... ·  4 天前  
51好读  ›  专栏  ›  Python之禅

不用微信QQ,用Pillow裁剪图片

Python之禅  · 公众号  · Python  · 2021-01-16 16:03

正文

我们需要处理批量操作或者是程序化的图片裁剪工作时,用微信QQ自带的裁剪工具无法帮我们快速完成,这时候我们可以用 Pillow 来实现图片裁剪的功能。

先安装pillow

pip install pillow

我们要实现的效果如下,随便找一张图,裁剪后的效果图

首先通过 open 方法打开图片,得到一个Image对象

from PIL import Image
import requests
im = Image.open("test.jpg")

也可以使用使用网络上的图片URL链接

from PIL import Image
import requests
img_url = "https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bc17b6c57e7c42aa905958a648e8c004~tplv-k3u1fbpfcp-watermark.image"
im = Image.open(requests.get(img_url, stream=True).raw)

Image对象提供了 crop 方法来裁剪图片,只需要指定裁剪的位置 (left, upper, right, lower),这4个参数表示什么意思呢?

其实就是裁剪后图片的左上角坐标(x1,y1)和右下角的坐标值(x2,y2),这四个值组成的元组

crpim = im.crop((left, upper, right, lower))


怎么获取这四个值呢?可以用图片编辑工具打开该图片,鼠标移上去就可以获取任意点的像素大小了。例如下图中的黑点的位置就是(104,21)


用同样的方法获取右下角的位置,最后另存为一张新的图片new.jpg即可。

完整代码如下:

from






请到「今天看啥」查看全文