猿问

Qt 绘图软件画图误差怎么解决?

用qt做的绘图工具,具有组合图元的功能,但是组合图元放大缩小之后图元会存在误差,请看下例:

两个矩形组合为一个图元,未进行放大缩小操作之前第一个图元的右下角和第二个图元的左上角重合在一起,当进行多次拖拽放大缩小之后变为下面的情况:

https://img1.mukewang.com/5b7bd215000188bf03570225.jpg

可以看出第一个图元的右下角和第二个图元的左上角不再重合在一起了,产生了误差。
主要原因是QT矩形的宽带高度值为整形,进行比例放大缩小后产生的小数被舍弃,从而造成误差,请问有没有好的解决办法?

狐的传说
浏览 780回答 1
1回答

红糖糍粑

方法1:以最小刻度为整形单位长度,即便中途比如产生1.5,那么下次的放大缩小都不基于该值,而去基于原始值来算。方法2:提高精度,运算用高精度,绘制取低精度,运算还是使用方法一每次基于一个原始值来算。
随时随地看视频慕课网APP
我要回答