跳转到主要内容

低级别绘图和交互

项目描述

https://docs.enthought.com/enable

Build status

Enable 项目 提供了两个相关的跨平台 ,用于绘制GUI对象。

  • Enable:一个支持包含和事件通知的对象绘图库。

  • Kiva:一个多平台的DisplayPDF矢量绘图引擎。

Enable

Enable包是一个基于Kiva的多平台对象绘图库。Enable的核心是一个用于绘制和事件通知的容器/组件模型。Enable的核心概念包括

  • 组件

  • 容器

  • 事件(鼠标、拖动和键盘事件)

Enable提供了一个高级接口来创建GUI对象,同时允许对用户交互进行高级控制。Enable是Chaco和BlockCanvas项目的技术支持。

Kiva

Kiva是一个支持多个输出后端的多平台DisplayPDF矢量绘图引擎,包括Windows、GTK和Macintosh本地窗口系统、多种光栅图像格式、PDF和Postscript。

DisplayPDF更像是一种惯例而不是实际规范。它是一个基于Adobe PDF规范子集的基于路径的绘图API。除了路径、矩形、线型和图形状态堆栈等基本矢量绘图概念外,它还支持图案填充、抗锯齿和透明度。DisplayPDF最流行的实现可能是Mac OS X中Apple的Quartz 2-D图形API。

Kiva特性

Kiva目前实现了以下功能

  • 路径和编译后的路径;弧线、贝塞尔曲线、矩形

  • 图形状态堆栈

  • 裁剪堆栈,不相交的矩形裁剪区域

  • 光栅图像块拷贝

  • 图形上下文的任意仿射变换

  • 倒角和斜接连接

  • 线宽、线型

  • Freetype或本地字体

  • RGB、RGBA或灰度颜色深度

  • 透明度

先决条件

在构建Enable/Kiva项目之前,您必须安装以下库

Enable/Kiva还有以下要求

运行时

可选

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面