【发布时间】:2015-04-17 18:29:28
【问题描述】:
我的代码大致如下:
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 的输出与显示场景的视图的形状/大小直接相关。例如。如果我缩小视图质量会变差。如果我在一个方向上拉长它,输出也会被拉长。 无论视图如何,我都希望以高质量输出一致的渲染图。 我怀疑我需要使用更大的比例/视口将此场景放入固定尺寸的新视图中才能解决此问题。
【问题讨论】:
标签: qt4 pdf-generation qgraphicsscene qpainter qprinter