cairo简单学习
来源:互联网 发布:淘宝二手奢侈品靠谱吗 编辑:程序博客网 时间:2024/06/04 18:35
今天看gtk的demo,然后看到了调用cairo的一些东西,查了下才知道cairo是一个图形库,自己真是无知。
然后简单的学习了一下cairo的用法,以下做总结。
Cairo支持很多不同后端的输出,在实现中被称作“surface”。支持的后端包括 X Window 系统,Win32 GDI,Mac OS X Quartz,OS/2,OpenGL 环境(直接或间接地通过glitz),内存缓冲区,PNG 文件,PDF,PostScript,DirectFB 和 SVG 文件。
还有一些开发中的后端如:OpenVG,Qt,Skia 和 Windows Direct2D。 -wiki
知名应用
- GTK+, 从2005年的 2.8版开始, 使用 cairo 去渲染它的大多数控件从 GTK+ 3 开始, 所有的渲染任务由 cairo 完成。
- Mono项目,包括 Moonlight,在很早便设想用 cairo 作为后端驱动GDI+ (libgdiplus) 和 System.Drawing 命名空间。
- Mozilla 项目在最近版本的Gecko 排版引擎中使用 cairo,用来渲染 Mozilla 生成的图形输出。
- Gecko 1.8,Firefox 2.0 和 SeaMonkey 1.0 的排版引擎,使用 cairo 渲染 SVG 和 <canvas> 内容。
- Gecko 1.9,作为 Firefox 3 底层使用 cairo 对网页内容和用户界面进行渲染。
- Poppler 库使用 cairo 渲染 PDF 文档. cairo 使得对反锯齿矢量图形和透明对象的绘制成为可能。
- 矢量绘图应用程序 Inkscape 使用 cairo 图形库显示其概要模式,以及自从0.46正式版使用它输出 PDF 和 PostScript 文档。
- FontForge在2008年10月中旬启用 cairo 为默其认渲染图形库。
- R 语言经 cairo 用 PDF,PostScript 和 SVG 格式输出图像。
- Gnuplot 4.4 现在使用 cairo 来渲染 PDF 和 PNG 输出。
cairo *cairo_create(cairo_surface_t *target);//target like a canvas
//demo use cairo to create sector
//cr was like a pen
double xc,yc;
xc = 128.0;
yc = 128.0;
double radius =100.0;
double angle1 = 45.0 * (M_PI/180);
double angle2 = 180.0 * (M_PI/180);
cairo_set_line_width(cr,10.0);
cairo_arc (cr , xc, yc, radius, angle1, angle2);
cairo_stroke(cr);
//draw subline
cairo_set_source_rgba(cr,1,0.2,0.2,0.6);
cairo_set_line_width(cr, 6.0);
cairo_arc(cr, xc, yc,10.0,0,2*M_PI);
cairo_fill(cr);
cairo_arc(cr, xc, yc, radius, angle1, angle1);
cairo_line_to(cr, xc, yc);
cairo_arc(cr, xc, yc, radius, angle2, angle2);
cairo_line_to(cr, xc, yc);
cairo_stroke(cr);
//create surface and cairo_t
cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80);
cairo_t *cr = cairo_create (surface);
来自cairo网站,需要两条辅助线
$gcc -o cairo cairo.c -I /usr/include/cairo/ -L /usr/lib -lm `pkg-config cairo --cflags --libs`
0 0
- cairo简单学习
- cairo学习简单总结
- cairo学习
- cairo简单使用指南
- Cairo学习笔记
- cairo
- AGG与Cairo学习资料
- PyGobject(九十三)Cairo系列——简介&简单示例
- cairo介绍
- cairo 教程
- cairo总结
- 什么是Cairo
- Cairo-dock
- Cairo初探
- Cairo 绘图
- cairo api
- Cairo教程
- Cairo 初探
- EXT 日期控件
- linux dd命令详解 and 用dd来测试磁盘的读写能力
- 守护线程(Daemon Thread)
- Oracle与SDE安装简介
- 每天一个linux命令(1):ls命令
- cairo简单学习
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
- ftpd chroot的实现
- 路由器TL-WR800N固件升级
- 测试环境重装Hbase步骤
- poj 2785 4 Values whose Sum is 0 哈希
- sql server增加及删除约束的方法
- EVA解释
- Entity Framework 5.0系列之Code First数据库迁移