使用PIL Image裁切图片,制作缩略图代码
来源:互联网 发布:小鸡模拟器支持java 编辑:程序博客网 时间:2024/06/04 18:15
http://outofmemory.cn/code-snippet/1417/usage-PIL-Image-caiqie-tupian-make-thumbnail-code
PIL是python的图片库,是Python Imaging Library的缩写。
安装PIL
1、下载PIL的Source Kit(因为这个包支持全部平台) Imaging--1.1.6.tar.gz URL: http://www.pythonware.com/products/pil/index.htm
2、解压缩包 tar -zxvf Imaging-1.1.6.tar.gz
3、进入到解压后的目录 cd Imaging-1.1.6
4、Build pakage: python setup.py build_ext -i
5、测试; python selftest.py
6、安装 python setup.py install
执行完上述操作后,可以直接在程序用使用 import Image进行使用PIL中的Image类
使用PIL裁切图片
使用PIL需要引用Image,使用Image的open(file)方法可以返回打开的图片,使用crop((x0,y0,x1,y1))方法可以对图片做裁切。
如下代码示例:
import Imageimg = Image.open(r'E:\photo\20120402\abc.jpg')region = (100,200,400,500)#裁切图片cropImg = img.crop(region)#保存裁切后的图片cropImg.save(r'E:\photo\crop.jpg')
使用PIL制作缩略图
PIL的Image中提供了thumbnail(img,filter)
方法,使用这个方法可以很方便的制作缩略图。
如下是OutOfMemory.CN制作头像缩略图时用到的方法
img = Image.open(i.avatar.file)if img.size[0] > 1024 or img.size[1] > 1000: newWidth = 1024 newHeight = float(1024) / img.size[0] * img.size[1] img.thumbnail((newWidth,newHeight),Image.ANTIALIAS)saveToPath = path.join(getUserUploadDirRoot(loginUser.id) , 'original.jpg')img.save(saveToPath,"JPEG")
这一步是在为裁切头像做准备,如果用户上传的图片宽度大于1024时会做一下缩放。
PIL提供的方法非常简单易用,更多PIL的方法可以参考其文档。
0 0
- 使用PIL Image裁切图片,制作缩略图代码
- 使用PIL按比例做缩略图
- Django上传图片用PIL生成缩略图
- PIL.Image的简单使用
- 使用ASP.NET Image Generation生成图片缩略图及水印
- Image 水印图片 和 缩略图
- 使用PIL生成用户头像缩略图
- 用C#制作图片缩略图
- 制作缩略图,防图片变形
- django 使用 PIL 压缩图片
- PIL Image模块 show函数不能正常显示图片
- PIL Image模块 show函数不能正常显示图片
- PIL Image模块 show函数无法正常显示图片
- python PIL 处理图片的模快 Image类
- Python-----PIL Image模块 show函数不能正常显示图片
- PIL.Image.open()打开图片时内存泄漏
- Python 图片Base64解码 还原PIL.Image或Opencv
- PIL 生成缩略图
- 磁盘与Linux基础
- IOS开发-使用Storyboard进行界面跳转
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- 修改字段结构之GP工具
- linux下常用FTP命令 1. 连接ftp服务器
- 使用PIL Image裁切图片,制作缩略图代码
- jackson 实体转json 为NULL或者为空不参加序列化
- Andorid解析json的三种方式
- Android studio 安装
- Android中Application的onCreate多次调用问题
- 使用 GNU Libtool 创建库
- jquery插件之DataTables
- <Python基础教程>学习心得_第二章
- 为mini2440的Qt程序增加字体并使字体大小可改变