Cairo图形库编辑指南

说明

欢迎来到Cairo图形库编程指南。本指南将会教你学会Cairo2D矢量图形库的基本知识和一些高级用法。大多数例子里,我们会用到GTK+函数库。本指南使用C语言进行编程。

2D矢量图形

计算机图形有两种:矢量图形和光栅图形。光栅图形就是组合像素。矢量图形是用几何图元,比如点,线,面或是多边形来表现图形。这些矢量图元是用数学方程式进行精确描述的。

这两种绘图方式有各自的优缺点。矢量图形优于光栅图形的地方为:

1.需要的资源更少

2.无级放缩

3.移动,放缩,填充或是旋转时,不会使图像失真。

Cairo图形库

Cairo是一个用C语言写的创建2D矢量图形的函数库。同时提供其它语言的接口。比如Python,Perl,C++,C#,Java等。Cairo是一个跨平台的库,它可以工作在Linux,BSDs,OSX这些系统上面。

Cairo支持支持各种环境

X Windows System

Win32 GDI

Mac OS X Quartz

PNG

PDF

PostScript

SVG

也就是说,我们可以用这个库在Windows,Linux/BSDs,Windows,OSX或是用这个库创建PNG图形,PDF文件,PostScript文件和SVG文件。

与Windows上的GDI+和Mac上的Quartz 2D相比,Cairo是一个开源的软件库,从2.8版开始,它成为GTK+系统的一部分。

编译例子

所有的例子都是用C语言来写的,我们可以用GCC来进行编译:

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

c语言安卓图形库cairo,Cairo图形库编辑指南——介绍相关推荐

  1. cairo填充_Cairo图形指南

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

  2. 《Adobe Premiere Pro视频编辑指南(第2版)》——水银回放引擎

    本节书摘来自异步社区<Adobe Premiere Pro视频编辑指南(第2版)>一书中的第2章,水银回放引擎,作者 [美]Richard Harrington , Robbie Carm ...

  3. 《Adobe Premiere Pro视频编辑指南(第2版)》——高效的生产创意软件包

    本节书摘来自异步社区<Adobe Premiere Pro视频编辑指南(第2版)>一书中的第1章,高效的生产创意软件包,作者 [美]Richard Harrington , Robbie ...

  4. 腾讯视频如何编辑自我介绍

    小编继续给大家推荐腾讯视频这款非常好用的播放器软件,文章主要围绕"腾讯视频如何编辑自我介绍"分享,大家可以阅读一下.播放器家园网提供了腾讯视频播放器官方最新版下载,快来下载体验,本 ...

  5. 微信公众号教程(4)微信公众平台编辑模式介绍

    微信公众平台的核心是与用户互动,在互动中为用户带去服务,从服务中产生价值,微信的运营提倡使用人工回复来和用户交流沟通,但是有很多信息其实是可以通过设置一些关键字让用户自助获取的,在这方面微信公众平台也 ...

  6. 迅捷画图中套用流程图模板编辑方法介绍

    迅捷画图网站中不仅可以自己动手绘制自己喜欢的流程图或者思维导图,还可以套用模板进行编辑使用,可以根据自己需要选择操作方法,对小编来两种操作各有所长,可以很久需要的场合来决定怎样绘制,小编要分享的是迅捷 ...

  7. java8 access_Java语言8 连接Access数据库UCanAccess的操作介绍

    本文主要向大家介绍了Java语言8 连接Access数据库UCanAccess的操作介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java8 中JDK1.8中不再包含acces ...

  8. pdf文件怎么在线编辑?内容编辑途径介绍

    pdf怎么在线编辑?PDF几乎是打工人天天接触的文件格式之一了,毕竟它传输方便,展示起来效果也不错.但有时咱们在接收到PDF格式的文件后,要是想对其中的内容进行编辑怎么办?这时就没那么轻松了,因为这种 ...

  9. indesign中调出字符样式快捷键_InDesign的文字快速查找替换编辑技巧介绍(图文)...

    InDesign中经常会遇到很多需要查找与替换的文字编辑工作,在编排文字时设定好段落样式和字符样式,查找和替换的文字编辑工作将会变得更加简单和便捷.今天就向大家介绍InDesign的文字快速查找替换编 ...

  10. 搜狗号码通安卓版 2.3.2.13530软件介绍

    搜狗号码通安卓版 2.3.2.13530软件介绍: 搜狗崭新上架一款号码辅助识别软件-号码通,通过抓取互联网中的公开电话信息,建立起海量号码数据库,让诈骗,中介,推销等骚扰号码无处遁形.同时,软件还专 ...

最新文章

  1. oracle 10035 err 942,案例:Oracle日志报错 Fatal NI connect error 12170 TNS-12535 TNS-00505
  2. C++中的 istringstream
  3. python tensor_Python深度学习 2.3 张量运算
  4. 《JavaScript入门经典(第4版)》上第5章一个实例程序的修正,完善
  5. NEFU704(AC自动机+状态压缩)
  6. Software--Developer Tools_
  7. 水松纸缺陷在线检测系统
  8. vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
  9. Flex builder 3 激活码
  10. php 微信支付跳不出来的,微信公众号 微信支付跳转空白
  11. 大数据概览以及当下实用的主流开发
  12. 硬盘的种类及运行原理
  13. 《论文写作》课堂总结
  14. linux下文件损坏怎么删除 No such file or directory
  15. python网络游戏开发教程_python 网游开发教程 | python做的游戏有哪些
  16. sql查询成绩表中每一科成绩最高的分数以及这个学生的名字,学科名
  17. np.meshgrid plt.contourf
  18. ipv4地址怎么设置 手机_怎样修改手机的ip地址?手机IP地址如何修改
  19. NLP下游任务理解以及模型结构改变(上)
  20. 美联储缩表对外汇市场有什么影响?汇友必入区

热门文章

  1. 自己动手,更换光猫,这次是吉比特H2-3换为华为MA5671。(中国移动光纤宽带)
  2. 【机器学习】(5.4)聚类--密度聚类(DBSCAN、MDCA)
  3. catia二次开发:结构树文档,录制宏编程思路,遍历结构树,catia根对象窗体属性,打开导出文件,cameras工具条,viewer对象和截图,catia发送命令
  4. OpManager-企业网络问题分析及故障排除
  5. ADB工具连接Android手机
  6. 怎么在Chrome浏览器中插入IDM软件的扩展插件?
  7. Linux libaio 实例,linux libaio安装
  8. js获取局域网ip地址
  9. 零基础学HCIE难度大吗?
  10. 深入理解JVM & G1 GC