今天的内容是有关于QT绘制系统的,对应于<<QT学习之路2>>第24到30部分
先放出思维导图先.
一,Qt绘制系统
二,QT画刷画笔
三,QT绘制设备
四,QTGraphics View Framework
五,个人理解
根据我的理解,QT绘制系统应该是处理有关图像的.其中,QPainter是画笔,QPainterDevice是画布,QPaintEngine就是两者用来通讯的工具.引用豆子的话来说就是,Qt 的绘图系统实际上是,使用QPainter
在QPainterDevice
上进行绘制,它们之间使用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吗?
=_=好多好复杂的...算了,慢慢来,加油!^_^
明天有事,后天开始看贪吃蛇^_^