[施工中]Cairo教程

本文为Cairo官方教程的翻译

原英文链接:http://cairographics.org/tutorial/

有任何翻译错误请为我指正。

转载请注明原文链接。

【正在施工!】

Cairo教程

本教程来自Michael Urman的cairo tutorial for python programmers。原来的代码片段已经被翻译成C,有必要改的地方已经被改过了。

Cairo是一个强大的2D图形库。本文将向您介绍Cairo如何工作,很多人都会用它来编写图形应用。

为了在您计算机上进行工作,需要以下几件事:

    1. Cairo主体。您将需要两个库和开发文件。如果你没有,请参阅Download
    2. 一个C编译器,FAQ包含有关如何将代码转换成产生所需的输出程序的小例子。

如果你想看到包含在本教程中动作的代码片段,您可以尝试点击一些图片。你会得到一段短的C程序,其中包括所描述的绘制代码。

另外,如果你为了挑战自己,你可以将示例代码改写成您的首选语言和你的主机环境并且只使用Cairo。

注:文中提到的cairo_push_group()和cairo_pop_group()。至少需要Cairo 1.2.0以上版本。

目录

  • Cairo的绘图模型

    • 名词
    • 动词
  • Cairo绘图
    • 准备和选择信号源
    • 创建路径
    • 理解文本
  • 变换工作
  • 下一步是什么
  • 技巧和窍门
    • 行宽
    • 文本对齐

Cairo的绘图模型

为了解释Cairo所使用的操作,我们首先深入到一个模型如何绘制Cairo模型。只涉及有几个概念,其然后通过不同方法加以反复。首先,我将描述名词:目的地,来源,面具,路径和环境。在那之后,我将介绍它提供的方法来操作的名词和引导你想要创建的图形的动词。

名词

Cairo的名词比较抽象。我为了让他们更加具体,包括描绘它们如何相互作用图。前三个名词在您在本节看到图中的三层。第四名词,路径,被吸入的中间层上时,它是相关的。最后名词,上下文,未示出。

时间: 2024-08-07 18:39:56

[施工中]Cairo教程的相关文章

(翻译)开始iOS 7中自动布局教程(二)

这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学习IOS自动布局的朋友可以看看.自动布局很强大. 这篇教程绝对的最好的学习IOS自动布局的文章,没有之一 原文地址:Beginning Auto Layout Tutorial in iOS 7: Part 2 正文如下: 请注意: 团队成员Matthijs Hollemans (IOS学徒系列的作

母函数入门笔记(施工中…

定义:对于一个数列,它的母函数(即生成函数)为   为了对这个准确求值,我们设    举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么   例2 对于数列 生成函数 就是上面那个的比例系数放大到b 那么就是 例3 对于数列 生成函数 就是比例系数放大到 可以得出 类比可以得到   例4 然后是一个很鬼的 对于数列求生成函数 我们考虑这个东西是在无限定义下的 所以等价于 例5 然后是一个稍微麻烦点的 对于数列求生成函数   然后为了把这个东

The C Programming Language(K&R) 扣细节随记(施工中...

各种糟糕,入坑这么久才开始看K&R的The C Programming Language学C,而且还是为了应付开学某场滚回本体的考试(虽然觉着即使复习了还会被各种吊打),废话不多说,开始施工.? ? |--> 导言 整数除法会执行舍位,故要先乘后除. 数据类型: 关键字 位长(字节) 范围 格式化字符串 char 1 bytes -128..127(或0..255,与体系结构相关) ?%c unsigned char 1bytes 0..255 ?%c,?%hhu signed char 1

cv::namedWindow, GLFWwindow以及其他程序嵌入到MFC中的教程

cv::namedWindow, GLFWwindow以及其他程序嵌入到MFC中的教程 MFC虽然很老, 不美观, 不跨平台, 但是在Windows系统中, 利用MFC做功能验证的界面, 还是很快很方便的. 因为它老, 所以有很多解决方案可以利用, 因为它是MS提供的界面库, 所以在Windows上很容易实现, 并且和Windows系统结合很紧密. 比如说, 窗口消息等, 在MFC中是很方便实现的. 基于上面的种种原因, 利用MFC作为功能验证的一个"壳" 是很好的工具. 当然, 难免

python操作txt文件中数据教程[1]-使用python读写txt文件

python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = './test/test.txt' contents = [] DNA_sequence = [] # 打开文本并将所有内容存入contents中 with open(filename, 'r') as f: for line in f.readlines(): contents.append(line

Unity animator:StateMachineBehaviour的一点应用(施工中)

Unity animator:StateMachineBehaviour的一点应用(施工中) 有什么用 直奔主题,我们先讲讲作用,用法,再慢慢解释 一个简单的应用场景:Unity动画状态机中有一个"特色"是,如果你为一组Animator添加一个triggerA的parameter,用于控制动画A的播放(这里我们举例triggerA触发一次,进入动画A播放一次),你会发现,快速出发两次或多次triggerA,不加入限制条件,动画A将再播放完后再播放一次或多次 已有的解决方案是在脚本中添加

【转】开始iOS 7中自动布局教程(一)

原文网址:http://www.cocoachina.com/industry/20131203/7462.html 原文:Beginning Auto Layout Tutorial in iOS 7: Part 1 感谢翻译小组成员@answer-huang(博客)热心翻译.如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315). ======================================================

开始iOS 7中自动布局教程(一)

你是否曾经想让你的app在横竖屏方向上看起来都表现良好而受挫?是否在做支持iPhone和iPad屏幕布局界面时几近大小便失禁?今天我将给你带来好消息! 一直为大小相同的屏幕设计一个用户界面并不难,但如果屏幕的尺寸改变的话,UI元素的位置和大小也需要相应的做出改变. 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局.你应该很高兴,现在这样的情况再也不存在了--iOS6为iPhone和iPad带来了一个极好的新特性:自动布局.Xcode 5和 iOS7中对自动布局做出了改

11中javascrip教程教不到的小技巧

在这篇文章中,我将分享11条我认为特别有用的技巧.这篇文章是为初学者准备的,但我希望即使是中级JavaScript开发人员也能在这个列表中找到一些新的东西. 1.过滤唯一值 Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使用它来创建一个新数组,该数组只有唯一的值. 1 const array = [1, 1, 2, 3, 5, 5, 1] 2 const uniqueArray = [...new Set(array)]; 3 console.log(uniqueArray)