Cairo Drawing Model
2024-09-05 02:24:49
Cairo Drawing Model
Cairo是一个强力的2D绘图库.
Destination
是你最终绘图的目标, 可以是一系列Pixel或者绑定到SVG或PDF文件上.
Source
是实际在绘图时使用的图层, 可以是多种颜色也可以包含透明通道, 可以是某种模式或者由另一个Source(Surface)创建.
Mask
Mask是处于Source和Destination之间的图层, 包含遮罩效果. 当Source需要stamp到Destination上时, 需要根据Mask的属性来决定, 可能直接绘图, 也可能没有效果.
Path
在Mask层和Context中可能存在的, 类似绘图中的线.
Context
Context维护所有的绘图动作, 其中还包括一个destination, 一个sourece, 一个mask, 以及其他一些变量. 在做任意的绘图操作前都应该创建一个context. 例如:
cairo_surface_t *surface;
cairo_t *cr;
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 120, 120);
cr = cairo_create (surface);
Verbs
就是绘图的基本操作.
Stroke(行程)
类似于画笔, 一般是在mask层, 在source上面的图像经过mask层的遮罩, 映射到destination层时, 仅在画笔中的图像可以通过.
Fill
类似stroke, 就是在mask层挖洞, 可以让source层的图像映射到destination层.
其他一些操作都是api级别的, 了解了绘图模型就可以直接使用了. 需要的时候自行查找文档.
最新文章
- 写出将字符串中的数字转换为整型的方法,如:“as31d2v”->;312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串
- hive导入数据
- OC 类方法,对象方法,构造方法以及instancetype和id的异同
- Jira中Activity Stream中显示Localhost不能正常访问的处理
- IOS UIScrollView中 使用 touch 无法响应的问题
- WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘
- cookie记住浏览位置
- C++编程音视频库ffmpeg的pts时间换算方法
- flask学习(一)
- python学习day12 函数Ⅳ (闭包&;内置模块)
- 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法
- HDU1875 畅通工程再续【最小生成树】
- [转]VS2015 Git 源码管理工具简单入门
- gitbook构建文档命令
- Postgres和MySQL创建用户并授予db权限
- java-为什么非静态内部类中不能有static修饰的属性,但却可以有final常量?
- uiautomator 代码记录 : BT发送测试
- Use Laravel/homestead 环境维护基于 brophp 开发的老项目
- Delphi 关于DBGrid多选删除(shitf多选,ctrl多选)
- C++基础知识之动态库静态库