在Python中,安装第三方模块,是通过setuptools这个工具完成的。
Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。
使用pip安装一个第三方库——Python Imaging Library,这是Python下非常强大的处理图像的工具库
C:\Users\admin>pip install PIL
Collecting PIL
Could not find a version that satisfies the requirement PIL (from versions: )
No matching distribution found for PIL
原因:
PIL官方只有32位的安装文件,安装时会提示找不到python的安装路径。
64位Win7下无法安装PIL库的原因是:
PIL官方http://www.pythonware.com/products/pil/提供的PIL二进制安装库包都是32位的。64位程序和32位程序检测注册表的位置是不一样的:
64位程序检测HKEY_LOCAL_MACHINESOFTWAREPython,而32位程序检测HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython。
如果安装的python是64位的,其相关信息都在HKEY_LOCAL_MACHINESOFTWAREPython下面,
而32位程序则在HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython下面找Python安装信息,结果找不到了,所以会抱错。
解决方案:
网上有非官方的64位库(官方源码编译版),叫做pillow。
Pillow是PIL的替代版本。其网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/
可以直接搜索pillow,如果安装的是python2.7 就可以选择Pillow‑5.1.1‑cp27‑cp27m‑win_amd64.whl
下载,安装
C:\>pip install Pillow-5.1.1-cp27-cp27m-win_amd64.whl
Processing c:\pillow-5.1.1-cp27-cp27m-win_amd64.whl
Installing collected packages: Pillow
Successfully installed Pillow-5.1.1
ok, 安装成功!!!
使用的时候千万记得:from PIL import Image 代替原先的import Image
例如:同一张图片保存的方式不同。但结果是一样的。
>>> from PIL import Image
>>> im1 = Image.open('picture1')
>>> im2 = Image.open('picture2.png')
>>> im3 = Image.open('picture3.jpg')
>>> print im1.format, im1.size, im1.mode
JPEG (1080, 2280) RGB
>>> print im2.format, im2.size, im2.mode
JPEG (1080, 2280) RGB
>>> print im3.format, im3.size, im3.mode
JPEG (1080, 2280) RGB
>>> im1.thumbnail((200, 100))
>>> im1.save('thumb.jpg', 'JPEG')
生成缩略图
thumbnail函数接受一个元组作为参数,分别对应着缩略图的宽高,在缩略时,函数会保持图片的宽高比例。
如果输入的参数宽高和原图像宽高比不同,则会依据最小对应边进行原比例缩放。