低级绘图和交互
enable的Python项目详细描述
http://docs.enthought.com/enable
enableproject为绘图提供了两个相关的多平台packages 图形用户界面对象。
- enable:支持包含和事件的对象绘图库 通知。
- kiva:多平台displayPDF矢量绘图引擎。
启用
enable包是在 基瓦。enable的核心是用于绘制和事件的容器/组件模型 通知。使能的核心概念是:
- 部件
- 容器
- 事件(鼠标、拖动和键事件)
enable提供用于创建gui对象的高级接口,而 实现对用户交互的高度控制。启用是支持 用于chaco和blockcanvas项目的技术。
基瓦
kiva是一个支持 多个输出后端,包括Windows、GTK和Macintosh Native 窗口系统,各种光栅图像格式,pdf和postscript。
displaypdf更多的是一种约定,而不是实际的规范。它是一个 基于adobe pdf规范子集的基于路径的绘图api。 除了基本的矢量绘图概念,如路径、矩形、直线和 图形状态堆栈还支持模式填充、抗锯齿和 透明度。可能displaypdf最流行的实现是 Mac OS X中的苹果石英二维图形API。
Kiva功能
Kiva目前实现了以下功能:
- 路径和编译路径;圆弧、贝塞尔曲线、矩形
- 图形状态堆栈
- 剪辑堆栈,不相交的矩形剪辑区域
- 光栅图像拼接
- 图形上下文的任意仿射变换
- 斜接和斜接连接
- 线宽,虚线
- freetype或原生字体
- rgb、rgba或灰度颜色深度
- 透明度
先决条件
在构建之前,必须安装以下库 启用/kiva项目:
- Setuptools
- Numpy
- SWIG
- fonttools
- (在Linux上)x11 devel(x11的开发工具)
- (在Mac OS X上)Cython
enable/kiva还具有以下要求:
运行时:
可选:
- apptools 4.3.0
- (qt后端)PySide或PyQt4
- (wx后端)WxPython version 2.8.11.0
- (总帐后端)pyglet version 1.1.4
- (总帐后端)pygarrayimage
- (SVG后端)PyParsing
- (pdf后端)ReportLab Toolkit version 3.1
- (开罗后端)PyCairo 1.10.0
- (约束布局)kiwisolver