[记录]学习<<QT学习之路2>>第五天

来源:互联网 发布:攻城掠地控号手软件 编辑:程序博客网 时间:2024/06/06 01:42

今天的内容是有关于QT绘制系统的,对应于<<QT学习之路2>>第24到30部分

先放出思维导图先.

一,Qt绘制系统


二,QT画刷画笔


三,QT绘制设备


四,QTGraphics View Framework


五,个人理解

根据我的理解,QT绘制系统应该是处理有关图像的.其中,QPainter是画笔,QPainterDevice是画布,QPaintEngine就是两者用来通讯的工具.引用豆子的话来说就是,Qt 的绘图系统实际上是,使用QPainterQPainterDevice上进行绘制,它们之间使用QPaintEngine进行通讯(也就是翻译QPainter的指令)。

QPainter

对于QPainter,我们主要用到的是QBrush,用于填充和QPen,用于绘制轮廓线.

填充包括填充的样式和填充的颜色,分别用style()和color()实现.

绘制轮廓线则包括轮廓线的颜色,长度,宽度等.

在进行绘制过程中,要注意的有渐变和反走样了.

QPainterDevice

QPainterDevice就是绘制设备.QPainterDevice类下有数个子类.一般我们都是调用子类来实现自己所需的功能的.

上面的是关于绘制系统的.


另外为了描述图像的点,长度,大小等信息,QT中还有坐标系统.

这是一个"半像素坐标系".对点的描述方式分为走样和反走样两类.在走样中还有对像素是奇偶数的分析.

坐标系统自然要涉及坐标变换.Qt 提供了四种坐标变换:平移 translate,旋转 rotate,缩放 scale 和扭曲 shear.

对于不同的变换方式,我们可以调用不同的函数.

坐标分类:物理坐标和逻辑坐标  表示这里没怎么看懂

什么是物理坐标?什么是逻辑坐标?这两者有什么联系?


最后是关于Graphics View Framework

这部分内容更是看着云里雾里的.

Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互;还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转。

为什么需要Graphics View类呢?它和绘制系统是什么关系呢?有了Graphics View还需要调用QPainter吗?

=_=好多好复杂的...算了,慢慢来,加油!^_^

明天有事,后天开始看贪吃蛇^_^



0 0
原创粉丝点击