Chinaunix首页 | 论坛 | 博客
  • 博客访问: 714095
  • 博文数量: 94
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 1555
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-08 21:28
文章分类

全部博文(94)

文章存档

2012年(23)

2011年(39)

2010年(14)

2009年(18)

分类: C/C++

2010-05-06 08:33:04

欢迎阅读 Cairo 绘图指南,这份指南会向你讲述 Cairo 二维矢量绘图库的基本知识以及一些高级问题。指南中的示例采用 C 语言实现,其中大部分使用了 GTK+ 库。

二维矢量图形

计算机图形可分为两类,矢量图形与光栅图形。光栅图形是将图像表示为像素点集。矢量图形则是使用一些几何图元(点、直线、曲线、多边形等)表示图像,这些图元是使用数学公式生成的。

这两类计算机图形表达方式各有所长短。相较于光栅图形,矢量图形存在以下优越性:

  • 图形文件更小
  • 可任意缩放
  • 平移、缩放、填充或旋转等图形变换操作对图形质量无影响

Cairo

Cairo 是用于绘制二维矢量图形的库,采用 C 语言实现,又被许多其它计算机语言所绑定,譬如 PythonPERLC++C#JavaCairo 是跨平台库,可运行于 LinuxBSDOSX 等操作系统。

Cairo 支持多种后端 (backend)

  • X Window 系统
  • Win32 GDI
  • Mac OS X Quartz
  • PNG
  • PDF
  • PostScript
  • SVG

这些后端意味着可使用 Cairo 库在 WindowsLinux/BSDOSX 等平台的窗口中绘图,也可以用于生成 PNG 图片、PDF/PostScript/SVG 文件。

Windows 操作系统的 GDI+ 以及 Mac OS Quartz 2D 库相比,Cairo 是自由软件库。自 GTK+ 2.8 版本开始,Cairo 成为 GTK+ 库的一部分。

示例的编译

本指南中的所有示例均采用 C 语言实现,可使用 gcc 编译它们,编译命令格式如下:

$ gcc -o example `pkg-config --cflags --libs gtk+-2.0` example.c

 

阅读(2362) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2010-10-25 16:35:07

感谢博主分享这么好的资源