QGraphicsView绘画曲线注意点(三)

编程入门 行业动态 更新时间:2024-10-12 05:47:14

QGraphicsView绘画<a href=https://www.elefans.com/category/jswz/34/1769778.html style=曲线注意点(三)"/>

QGraphicsView绘画曲线注意点(三)

目的:

基于QGraphicsView绘画曲线之双缓冲机制,减少线在一直绘画过程中出现卡顿, 刷新慢的问题,同时在在绘曲线过程中出现实时出现反锯齿。

知识点:

在图形图象处理编程过程中,双缓冲是一种基本的技术。
双缓冲实现过程如下:
1、在内存中创建与画布一致的缓冲区
2、在缓冲区画图
3、将缓冲区位图拷贝到当前画布上
4、释放临时内存缓冲区

引用双缓冲机制原因是:

进行复杂的图形处理时或者大量处理某个图像,那么窗体在重绘时由于过频的刷新而引起闪烁或者卡顿现象。解决这一问题的有效方法就是双缓冲技术

双缓冲机制:

个人看法:主要是避免大量数据被刷新、处理或者数据输出与输出在处理过程中速度不协调。特意利用临时缓冲区,保存数据,进行缓冲,然后达到某种条件取出。

QGraphicsView绘画曲线注意点(二)
细节点:
1、画布(QImage)要填充QGraphicsVItem(设置大小),
2、当某个曲线绘画完后,注意QPainterPath调用moveTo()移动到适当某个点,不然QPainter在drawPath()默认是是从QPointF(0,0)为起点绘画曲线。
3、在实现QPainter调用drawPath()时,如果不清空,它会每次都要把加入路径的path重新绘画一遍,所以在长时间绘画曲线时应该考虑要适当清空QPainterPath(&= QpainterPath()),因为它没有清空api。
4、QPainter 它本身需要绑定设备,才能实现在设备上进行绘画。有两种绑定方式。
4.1 QPainter painter(QPaintDevice *device)构造中设置
4.2 QPainter painter。 painter.begin(QPaintDevice *device)这种方式需要注意一旦调用begin,所有的QPainter 设置比如setPen(), setBrush() 等等都得重新设置为默认值。并且一般与end()成对。

更多推荐

QGraphicsView绘画曲线注意点(三)

本文发布于:2024-03-10 03:28:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726896.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:曲线   QGraphicsView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!