GTK使用cairo绘图教程

25 篇文章 11 订阅 ¥29.90 ¥99.00
30 篇文章 0 订阅
29 篇文章 5 订阅

Cairo是一个2D图形库,支持多种输出设备。
支持的输出目标包括X Window,Quartz,Win32,image.buffers,PostScript,PDF和SVG文件输出。
后续支持OpenGL,XCB,BeOS,OS/2操作系统和DirectFB。
Cairo的目的是同一输出在不同的输出媒体上,同时能利用硬件加速器。
主要优点:在X、Win32、Quartz的基础上统一了图形库的操作方式,同时支持PS、PDF、SVG、PNG/JPEG等图像格式的输出,方便页面的再次利用,在glitz的支持下支持部分3D效果。

gtk使用cairo在窗口或者控件上绘图,需要注意以下几点:

  • 绘图目标是GdkDrawable,Drawable,顾名思义,是支持在其上绘图的东西,是GdkWindow或GdkPixmap 对象。对于gtk控件,它们是结构体,一般是它的window属性
  • 使用gtk_widget_set_app_paintable()方法将控件设置为可绘图
  • 绘图过程写在"expose-event"事件的回调函数中
  • 如果窗口里有其它控件,回调函数必须返回FALSE,否则窗口里的控件会被绘图覆盖
  • 控件必须得到显示才能被绘制,否则会在运行时报错IA__gdk_cairo_create:gdk_cairo_create: assertion `GDK_IS_DRAWABLE (drawable)’ failed

源代码:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
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
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值