PIL库编译备忘录
来源:互联网 发布:fifa online3叶子软件 编辑:程序博客网 时间:2024/04/29 09:13
Python Version:2.7.6
PIL Version:1.1.7
Zlib Version: 1.2.8
PIL库在编译前可通过Setup.py为其添加一些额外特性,以支持更多的功能。
1.17版中支持的特性有5种,分别是zlib、tcl、jpeg、freetype、lcms。
下面以为PIL添加zlib支持为例说明具体的添加步骤。
1、在Setup.py中有个定义在文件首部的变量:ZLIB_ROOT,其指向zlib库的zlib.lib库文件跟.h文件的目录。
ZLIB_ROOT默认值为None,也就是说PIL默认是没有zlib支持的。
2、为了得到zlib库文件和头文件,需要编译zlib库,以下编译步骤适用于在32位机器上使用VS2008编译Zlib-1.2.8。
2.1、下载Zlib源码,解压至一目录,例如:E:\zlib-1.2.8。2.2、运行E:\zlib-1.2.8\contrib\masmx86\bld_ml32.bat,编译下面步骤需要用到的一些.obj。
2.3、使用VS2008打开E:\zlib-1.2.8\contrib\vstudio\vc9下的VS解决方案文件zlibvc.sln。2.4、将当前解决翻案的编译配置修改为Relase。
2.5、右键zlibstat工程,打开属性页,在配置属性->C/C++->预处理器->预处理器定义中去掉ZLIB_WINAPI。这么做的原因是ZLIB_WINAPI宏定义了Zlib库使用WINAPI来封装所有的接口,这将导致链接生成PIL库时无法链接zlibstat.lib,出现找不到函数的错误。2.6、右键解决方案,重新生成解决方案。
2.7、在E:\zlib-1.2.8\contrib\vstudio\vc9\x86\ZlibStatRelease目录中找到上步生成的Zlib静态库文件zlibstat.lib,改名成zlib.lib后复制到E:\zlib-1.2.8,此目录下包含了Zlib的所有头文件。
3、打开PIL源码目录下的setup.py,修改其中的ZLIB_ROOT变量值,令其指向zlib库文件与头文件的位置,例如:
ZLIB_ROOT = 'E:\\zlib-1.2.8。'
4、在PIL源码目录下运行python setup.py build --force编译PIL。后面的--force选项表示强制编译,覆盖之前的编译结果。
5、运行python setup.py install --force进行安装。
6、使用如下代码测试由Zlib支持的PIL:
- import Image
- im = Image.open('test.png')
- im.show()
如果没有出现异常:“IOError: decoder zip not available”,则表明Zlib特性添加成功。
- PIL库编译备忘录
- PIL库编译备忘录
- pil库
- eclipse+Pydev编译环境下导入PIL库
- PIL的编译与安装
- 编译快捷键备忘录
- 编译快捷键备忘录
- BUSYBOX编译备忘录
- ffmpeg编译备忘录
- python PIL库安装
- 安装PIL库
- Linux 安装PIL库
- Python PIL库总结
- Python PIL库 教程
- python PIL库详解
- PIL
- PIL
- pil
- 使用ADF-BC 实现查询功能之九:重写getCriteriaItemClause方法设置Criteria中的变量
- Python中的装饰器(decorator)
- Power Network
- java序列化(Serializable)的作用和反序列化
- 解决AsyncTask引发的RejectedExecutionException
- PIL库编译备忘录
- 使用ADF-BC 实现查询功能之十:重写prepareRowSetForQuery方法设置变量
- 杂七杂八的感受
- UVa11475 - Extend to Palindrome
- IPython HTML NoteBook
- UIRoot Scaling Style & UIPanel Clipping[NGUI]
- pipe popen mkfifo
- STL vector<bool>中的swap方法(4)
- 动态创建Python类