5.Cario图形库-图形和填充

在本节Cairo图形库指南中,我们会创建一些基本的和高级的图形,然后用颜色,模式,渐变色填充它们。

基本图形:
Cario图形库有一些API用于创建基本图形

这个例子中,我们创建了一个矩形,一个正方形,一个圆,一个弧形和一个椭圆形。

 

函数cairo_rectangle用来创建矩形和正方形。一个正方形只是一个特殊的矩形。

 

这一行创建了一个圆。

 

这个函数创建了一个椭圆。

 

其它图形可以用上面的基本图形的组合来表示。

这个例子中,我们创建了一个星星,一个三角形,一个修改过的三角形。这些图形是用线条和弧线组成的。

 

星星是用保存在数组里面的点连接到一起形成的线画出来的。这个星星用cairo_close_path()把路径封闭,把最后一个和最开始的点连接到一起。

 

这个修改过的三角形是由两个线段和一个弧形组成的。

 

填充
一个颜色值由RGB三个分量组合而成。Cairo中,RGB取值范围为0-1.

这个例子中,我们画了四个填充过的矩形。

 

调用cairo_set_source_rgb()函数设置一个不透明的颜色值。参数为红,绿,蓝三个颜色分量。通过调用cairo_fill(),把设置这个颜色值填充到矩形里面。

 

模式

在这个例子中,我们又画了四个矩形,这一次,我们用了一些填充模式。我们用了四个从imp里面的图片。我们必须保持这些图片原来的尺寸,因为我们要把它们镶嵌进来。

我们在on_expose_event这个函数外面创建加载。当每次窗口需要重绘时,就不会再次加载了。


我们通过调用cairo_pattern_create_for_surface(),创建了一个模式。

 

这里,我们画了第一个矩形。cairo_set_source()函数告诉Cairo context用一个绘图模式进行绘图。这个图片大小并没有严格的适合这个矩形。我们设置CAIRO_EXTEND_REPEAT这个值,让这个模式循环镶嵌进来。cairo_rectangle()创建了一个矩形路径。最后,cairo_fill()用指定的模式填充这个路径。

 

原文链接:http://zetcode.com/tutorials/cairographicstutorial/shapesfills/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值