mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8818 PDF Export : Avoid manipulation of resolution
The exported pdf is dependent on the width of the plot window. Remove code related to change of resolution when exporting to PDF. This makes the PDF export consistent and independent to width of view.
This commit is contained in:
parent
1840a95810
commit
ed6cbce71e
@ -51,7 +51,7 @@ CAF_CMD_SOURCE_INIT( RicSnapshotViewToFileFeature, "RicSnapshotViewToFileFeature
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicSnapshotViewToFileFeature::saveSnapshotAs( const QString& fileName, RimViewWindow* viewWindow )
|
void RicSnapshotViewToFileFeature::saveSnapshotAs( const QString& fileName, RimViewWindow* viewWindow )
|
||||||
{
|
{
|
||||||
RimPlotWindow* plotWindow = dynamic_cast<RimPlotWindow*>( viewWindow );
|
auto* plotWindow = dynamic_cast<RimPlotWindow*>( viewWindow );
|
||||||
if ( plotWindow && fileName.endsWith( ".pdf" ) )
|
if ( plotWindow && fileName.endsWith( ".pdf" ) )
|
||||||
{
|
{
|
||||||
savePlotPdfReportAs( fileName, plotWindow );
|
savePlotPdfReportAs( fileName, plotWindow );
|
||||||
@ -95,28 +95,15 @@ void RicSnapshotViewToFileFeature::savePlotPdfReportAs( const QString& fileName,
|
|||||||
QFile pdfFile( fileName );
|
QFile pdfFile( fileName );
|
||||||
if ( pdfFile.open( QIODevice::WriteOnly ) )
|
if ( pdfFile.open( QIODevice::WriteOnly ) )
|
||||||
{
|
{
|
||||||
int resolution = RiaGuiApplication::applicationResolution();
|
int resolution = RiaGuiApplication::applicationResolution();
|
||||||
int pageWidth = plot->pageLayout().fullRectPixels( resolution ).width();
|
|
||||||
int widgetWidth = viewWidget->width();
|
|
||||||
int deltaWidth = widgetWidth - pageWidth;
|
|
||||||
|
|
||||||
while ( std::abs( deltaWidth ) > 1 )
|
|
||||||
{
|
|
||||||
int newResolution = resolution + deltaWidth / std::abs( deltaWidth );
|
|
||||||
pageWidth = plot->pageLayout().fullRectPixels( resolution ).width();
|
|
||||||
int newDeltaWidth = widgetWidth - pageWidth;
|
|
||||||
if ( std::abs( newDeltaWidth ) > std::abs( deltaWidth ) ) break;
|
|
||||||
|
|
||||||
resolution = newResolution;
|
|
||||||
deltaWidth = newDeltaWidth;
|
|
||||||
}
|
|
||||||
QPdfWriter pdfPrinter( fileName );
|
QPdfWriter pdfPrinter( fileName );
|
||||||
pdfPrinter.setPageLayout( plot->pageLayout() );
|
pdfPrinter.setPageLayout( plot->pageLayout() );
|
||||||
pdfPrinter.setCreator( QCoreApplication::applicationName() );
|
pdfPrinter.setCreator( QCoreApplication::applicationName() );
|
||||||
pdfPrinter.setResolution( resolution );
|
pdfPrinter.setResolution( resolution );
|
||||||
QRect widgetRect = viewWidget->contentsRect();
|
QRect widgetRect = viewWidget->contentsRect();
|
||||||
|
|
||||||
RimMultiPlot* multiPlot = dynamic_cast<RimMultiPlot*>( plot );
|
auto* multiPlot = dynamic_cast<RimMultiPlot*>( plot );
|
||||||
if ( multiPlot && multiPlot->previewModeEnabled() )
|
if ( multiPlot && multiPlot->previewModeEnabled() )
|
||||||
{
|
{
|
||||||
QRect pageRect = pdfPrinter.pageLayout().fullRectPixels( resolution );
|
QRect pageRect = pdfPrinter.pageLayout().fullRectPixels( resolution );
|
||||||
@ -144,7 +131,7 @@ void RicSnapshotViewToFileFeature::savePlotPdfReportAs( const QString& fileName,
|
|||||||
void RicSnapshotViewToFileFeature::saveViewWindowToFile( RimViewWindow* viewWindow,
|
void RicSnapshotViewToFileFeature::saveViewWindowToFile( RimViewWindow* viewWindow,
|
||||||
const QString& defaultFileBaseName /*= "image" */ )
|
const QString& defaultFileBaseName /*= "image" */ )
|
||||||
{
|
{
|
||||||
RimPlotWindow* plotWindow = dynamic_cast<RimPlotWindow*>( viewWindow );
|
auto* plotWindow = dynamic_cast<RimPlotWindow*>( viewWindow );
|
||||||
|
|
||||||
QString fileName = generateSaveFileName( defaultFileBaseName, plotWindow != nullptr );
|
QString fileName = generateSaveFileName( defaultFileBaseName, plotWindow != nullptr );
|
||||||
if ( !fileName.isEmpty() )
|
if ( !fileName.isEmpty() )
|
||||||
|
Loading…
Reference in New Issue
Block a user