cairo简单使用指南

本文档介绍了Cairo库的使用,包括画圆弧、填充颜色、图案填充、颜色渐变、设置透明度、图片淡出、图片合成、裁剪与遮蔽、变换以及文本显示等基本操作。通过实例展示了Cairo在图形绘制上的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1. 画圆弧
cairo_public void
cairo_arc (cairo_t *cr,
           double xc, double yc,
           double radius,
           double angle1, double angle2);
    
2. 填充颜色
cairo_public void
cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue);
cairo_public void
cairo_fill (cairo_t *cr);
EX: 填充红色矩阵
cairo_set_source_rgb (cr, 1, 0, 0);
cairo_rectangle(20, 20, 100, 100);
cairo_fill(cr);

3. 填充图案
cairo_surface_t *surface = cairo_image_surface_create_from_png("maple.png");
cairo_pattern_t *pattern = cairo_pattern_create_for_surface(surface);
cairo_set_source(cr, pattern);
cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); //让图案如瓦片那样填充于形状内部
cairo_arc(cr, 200, 70, 50, 0.2*M_PI, 0.8*M_PI);
cairo_fill(cr);

4. 颜色渐变
cairo_pattern_t *pattern = cairo_pattern_create_linear(20.0, 260.0, 20.0, 360.0);
cairo_pattern_add_color_stop_rgb(pattern, 0.1, 0, 0, 0); //线段从0到1/10是黑色
cairo_pattern_add_color_stop_rgb(pattern, 0.5, 1, 1, 0); //从1/10到0.5由黑色渐变到黄色
cairo_pattern_add_color_stop_rgb(pattern, 0.9, 0, 0, 0); //从0.5到0.9由黄色渐变到黑色,剩下都是黑色
cairo_rectangle(cr, 20, 260, 300, 100);
cairo_set_source(cr, pattern); //将竖线pattern对应到矩形中
cairo_fill(cr);

5. 设置透明度
cairo_public void
cairo_set_source_rgba (cairo_t *cr,
                       double red, double green, double blue,
                       double alpha); //alpha为0时全透明,为1时不透明
       
6. 图片的淡出
cairo_surface_t *surface = cairo_image_surface_create_from_png("maple.

Cairo 概念 ................................................................................................................................... 3 环境 (Context) ............................................................................................................................. 3 路径 (Path) ................................................................................................................................... 3 源 (Source) ................................................................................................................................... 3 外观 (Surface) .............................................................................................................................. 3 蒙板 (Mask) ................................................................................................................................. 4 图案 (Pattern) ............................................................................................................................... 4 二Cairo 后端 ................................................................................................................................... 4 1. PNG 图像 ................................................................................................................................. 4 2. PDF 文件 ................................................................................................................................. 5 3. SVG 文件 ................................................................................................................................. 6 4. GTK 窗口 ................................................................................................................................ 7 三 基本绘图 ..................................................................................................................................... 9 直线段 .......................................................................................................................................... 9 描绘 (Stroke) 与填充 (Fill) ..................................................................................................... 12 虚线 (Dash) ................................................................................................................................ 14 线帽 (Line caps) ........................................................................................................................ 17 线的交合 (Line joins) ................................................................................................................ 19 四 高级形状绘制 ........................................................................................................................... 21 基本形状..................................................................................................................................... 21 复杂的图形................................................................................................................................. 24 填充 (Fill) .................................................................................................................................. 27 纯色 (Solid color) .................................................................................................................. 27 图案 (Pattern) ......................................................................................................................... 28 渐变 (Gradient) ...................................................................................................................... 32 五 透明........................................................................................................................................... 35 透明的矩形................................................................................................................................. 35 淡出的效果................................................................................................................................. 37 “等待”的演示 ............................................................................................................................. 40 六 合成........................................................................................................................................... 43 七 裁剪与遮蔽 ............................................................................................................................... 46 裁剪 ............................................................................................................................................ 46 裁剪矩形..................................................................................................................................... 49 遮蔽 ............................................................................................................................................ 53 变换 ............................................................................................................................................ 55 平移......................................................................................................................................... 55 旋转......................................................................................................................................... 56 缩放......................................................................................................................................... 58 错切......................................................................................................................................... 60 椭圆......................................................................................................................................... 63 星星......................................................................................................................................... 65 七 文本........................................................................................................................................... 68 灵魂伙伴..................................................................................................................................... 68 一个字接一个字…… ................................................................................................................. 71 膨胀 ............................................................................................................................................ 73 八 图像........................................................................................................................................... 76 图像的显示................................................................................................................................. 77 垂帘效果(Blind Down) ......................................................................................................... 78 光谱效果..................................................................................................................................... 81
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值