应用在 GNOME、GTK+、pango 等著名的
软件中进行2D 图形处理。以 C 语言 开发的 Cairo 绑定了 C++、Ruby、Perl、
Java 和.Net/mono 等多种语言接口。其中 Python 和 C++绑定在开源社区代码中得到广泛的应用。 Cairo 有自己的 Surface 管理机制,可以在 SDL、XWindow 或者 DirectFB 的 Surface 上 创建 Cairo Surface。然后,在这个 Cairo Surface 上创立 Cairo 主接口。下面的代码
演示 了这一过程:
得到 Cairo 的主接口 cr 之后,就可调用一系列 Cairo 的2D 绘图 API 了。下面的代码演 示了用 Cairo 的 API 划线:
Cairo 丰富的特性在解决移植性的同时, 可以弥补直接使用 DirectFB 2D 功能上的不足。 比如 DirectFB 没有画虚线的 API,但是调用 Cairo 的 cairo_set_dash 和 cairo_stroke 可 以很轻松地实现这一功能。 4 小 结 本文在介绍了 DirectFB 的特性和基本框架之后, 阐述了 DirectFB 的基本开发方法, 并 提出一种使用基于 DirectFB 的 Cairo 2D 图形处理库的方案。它是一种兼顾了效率、通用性 和功能性的嵌入式系统2D 图形处理
方案。笔者采用该方案实现了 Windows CE GDI 接口在 ARM—Linux 上的移植,
工作良好,特在此与广大嵌入式系统开发人员分享。