Qt SVG Generator矢量精度是否限于像素大小?

问题描述

我正在使用QPainter和QSvgGenerator生成一组我需要向量精度的符号系统。我有一系列控件来设置形状的生成,并使用QPainter绘制它们。我的最终目标是数学上精确的SVG矢量图像,但是我似乎只是从QPainter到SVG Generator都能获得像素级的精度。当我计算线条的位置时,我不确定QPainter是否四舍五入到最接近的整个像素位置,但是我正在512x512小部件空间中绘制符号系统。当然,这给了我512x512像素的svg,其中的线捕捉到了最近的像素,而不是我计算出的实际双精度浮点x / y值...

如果我想要一个准确的矢量图像,我是否应该将所有点都转储到缓冲区中并编写自己的SVG生成器,或者是否可以通过QPainter将显示精度只有SVG生成器的双精度矢量精度提高到SVG生成器? 512x512?

解决方法

使用QPointF而不是X和Y的整数解决了这个问题。

    painter.drawLine(QPointF(pX1,pY1),QPointF(pX2,pY2));