Mac下python初学之Image库(PIL)
Mac下python 使用Image库
安装PIL,下载http://www.pythonware.com/products/pil/
解压PIL源码包,阅读README知道需要使用python setup.py install 命令来编译安装。
当然,通常第一次是不会通过的,一般是一些库文件找不到,如X11lib之类。
修改setup.py:
1、36行起
TCL_ROOT = None
JPEG_ROOT = JPEG库目录
ZLIB_ROOT = PNG和ZLIB库目录
TIFF_ROOT = TIFF库目录
FREETYPE_ROOT = FreeType库目录
LCMS_ROOT = None
这里重点是JPEG和zlib库的目录。
a)zlib
Mac下大多的开发库都不在usr目录下,如果你安装了Xcode,那么:
ZLIB_ROOT = libinclude("/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr")
否则你需要安装相应的zlib库,然再加上你的目录路径即可。
b) Jpeg
Jpeg库需要自行安装,下载Jpeg资源包后,解压进入执行./configure 顺利的话即生成makefile,再sudo make install,将会安装在/usr/local/lib下载。
然后添加路径到PIL的setup.py中:
JPEG_ROOT = "/usr/local/lib"
2、大约210行左右
在这几行之后:
add_directory(library_dirs, "/usr/local/lib")
add_directory(include_dirs, "/usr/local/include")
add_directory(library_dirs, "/usr/lib")
add_directory(include_dirs, "/usr/include")
添加相关库目录:
add_directory(library_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib")
add_directory(include_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers")
add_directory(include_dirs, "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include")
然后再编译安装即可。
另外,如果没设置png与jpeg库目录,PIL也能装成功但在使用过程中会找不到解码器。想要判断png和jpeg是否支持,使用以下方法:
python selftest.py
如果看到
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
说明这两个库的配置是正确。
最后可以写个简单的test.py脚本来测试一下:
import Image
im = Image.open("/不要写~的路径/Desktop/y.jpg")
im.save("/不要写~的路径/Desktop/x.jpg")
最新文章
- 用excel绘制基因芯片热力图
- HashTable,HashSet与Dictionary
- [游戏模版15] Win32 飞机射击
- hiho一下第88周《Coordinates》
- c++ static及const(开发者在线)
- VirtualBox从USB设备(PE)启动
- 剑指OFFER之重建二叉树(九度OJ1385)
- DataPackage-数据库、表的区域设置和系统不一致导致处理失败
- 初涉JavaScript模式 (12) : 沙箱模式
- exit() die return 的区别
- 第44节:Java当中的JVM
- Java 多个文件压缩下载
- nginx笔记 安装nginx 配置 反向代理 多虚拟主机
- 苹果pns推送和唤醒
- 清空select标签中option选项的3种不同方式
- hive array、map、struct使用
- 《Linux 性能及调优指南》1.5 网络子系统
- 面向对象epoll并发
- 基于Spring Task的定时任务调度器实现
- hdu 3682 10 杭州 现场 C - To Be an Dream Architect 简单容斥 难度:1
热门文章
- CSS3 笔记五(Buttons)
- Dell DRAC的重启方法
- Solution for Error FRM-92095: Oracle Jnitiator version too low
- 自发行python版本制作(一)
- python:字符串转换成字节的三种方式
- WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常
- linq+映射数据库调用方法
- C扩展python的module和Type
- 解析xml并且导入mysql
- Swift 语法