标题:Qt5 绘制图片抖动问题
作者:兵317
日期:2016-06-14 13:48
内容:
之前发了几篇讨论帖,都是关于绘制表盘的相关问题,得到了热心网友的指导,谢谢了。现在的问题是这样的:利用Qt5 painter绘制表盘和指针,均是贴图实现,先把底盘的图片绘制到pixmap上,然后以pixmap这个坐标系为准,移动坐标系中心点绘制指针图片,实现旋转(具体实现参考本人第一篇帖子),当传入的速度值更新较快时,比如几十毫秒发一次,绘制函数根据传入的速度值实现绘图旋转,整个界面看起来效果一般,但指针在移动过程中感觉有种抖动的视觉感,看起来不平滑,指针较粗的部分没看出来抖动,就是较细的部分抖动效果明显,不知道什么原因导致这样的效果,更不知道怎么改善?
另:是不是在Qt中将绘制过程放到paintEvent(QPaint Event *)里面才能实现双缓冲呢,还是放在自己定义的绘制函数也可以是双缓冲?
#1 [兵317 06-14 16:36]
另外我运行了下qt自带的dialcontrol,效果看着很舒服,因为其中应用了弹性效果SpringAnimation,不知道可不可以将qml的这部分代码放到Qt5我的自定义函数里面呢?或者这个弹性效果的实现是怎样的呢(如果知道怎么实现,可以定义这样一个弹性类,然后应用到我的自定义函数里面)?
#2 [bran_lee 06-16 08:58]
抖动可能是计算过程中使用了int而不是real作为计算结果,如果计算的每一步都使用real,精度上应该不会产生抖动
#3 回 bran_lee 的帖子 [兵317 06-21 16:29]
bran_lee:抖动可能是计算过程中使用了int而不是real作为计算结果,如果计算的每一步都使用real,精度上应该不会产生抖动 (2016-06-16 08:58)
改为double后,抖动依旧,可能需要对传入的数据做些滤波或者其他处理了
#4 [spark253649 06-22 17:57]
QTimeLine