Qt4 打印QGraphicscene会产生低质量的输出

Qt4 打印QGraphicscene会产生低质量的输出,qt4,pdf-generation,qgraphicsscene,qpainter,qprinter,Qt4,Pdf Generation,Qgraphicsscene,Qpainter,Qprinter,我的代码大致如下: QGraphicsScene* pScene( pMap->scene() ); QPrinter printer; printer.setResolution( 1200 ); //tried many values and QPrinter::PrinterMode printer.setOutputFileName( "test.pdf" ); printer.setPageSize( QPrinter::A4 ); printer.setOutputForma

我的代码大致如下:

QGraphicsScene* pScene( pMap->scene() );

QPrinter printer;
printer.setResolution( 1200 ); //tried many values and QPrinter::PrinterMode
printer.setOutputFileName( "test.pdf" );
printer.setPageSize( QPrinter::A4 );
printer.setOutputFormat( QPrinter::PdfFormat );

QPainter painter( &printer );
pScene->render( &painter );
painter.end();
在我的场景中有一些SVG图像,它们以当前显示的分辨率和超过100倍的缩放比例完美地显示,因此源质量不是问题。但是PDF输出的质量很差。 我很乐意将输出呈现为SVG,或者如果它必须是当前分辨率/DPI的几倍的静态图像,以确保它干净清晰。 如果有人对如何提高产量提出建议,我将不胜感激。谢谢

编辑: 渲染到PDF中的输出似乎与显示场景的视图的形状/大小直接相关。如果缩小视图,质量会变得更差。如果我在一个方向上拉长它,输出也会拉长。 我希望无论视图如何,都能以高质量输出一致的渲染图形。
我想我需要使用更大的比例/视口将此场景放置到固定尺寸的新视图中来解决此问题。

如果有人需要如何执行此操作的示例,请查看QGIS GIT中的qgscomposition.cpp::exportAsPDF。该组合是QGraphicscene的扩展,应该直接适用于任何人的任务,并进行一些返工。