X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ExportImageOp.cxx;h=33d61ae30b2c233310dca7f1977dec92b9b0f487;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=f8b7c7e25febba6133c119a799201cba2b0d9e20;hpb=fe02bb085711fbb88046f31bd30a4590d7263c7a;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ExportImageOp.cxx b/src/HYDROGUI/HYDROGUI_ExportImageOp.cxx index f8b7c7e2..33d61ae3 100644 --- a/src/HYDROGUI/HYDROGUI_ExportImageOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ExportImageOp.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -30,8 +26,7 @@ #include #include - -#include +#include HYDROGUI_ExportImageOp::HYDROGUI_ExportImageOp( HYDROGUI_Module* theModule ) : HYDROGUI_Operation( theModule ) @@ -54,14 +49,22 @@ void HYDROGUI_ExportImageOp::startOperation() QImage anImage = anImageObj->Image(); QTransform aTransform = anImageObj->Trsf(); - anImage = anImage.transformed( aTransform, Qt::SmoothTransformation ); + // Scale image to it origin imported size + double aCoefX = aTransform.m11() < 0 ? -1.0 : 1.0; + double aCoefY = aTransform.m22() < 0 ? -1.0 : 1.0; + aTransform.scale( aCoefX * ( 1 / aTransform.m11() ), aCoefY * ( 1 / aTransform.m22() ) ); + anImage = anImage.transformed( aTransform, Qt::SmoothTransformation ); + + // Invert the Y axis direction from down to up + anImage = anImage.transformed( QTransform::fromScale( 1, -1 ), Qt::SmoothTransformation ); + QString aFilter( tr( "IMAGE_FILTER" ) ); - QString aFileName = QFileDialog::getSaveFileName( module()->getApp()->desktop(), - tr( "BROWSE_IMAGE_FILE" ), "", aFilter ); + QString aFileName = SUIT_FileDlg::getFileName( module()->getApp()->desktop(), + "", aFilter, tr( "EXPORT_IMAGE_TO_FILE" ), false ); if( !aFileName.isEmpty() ) anImage.save( aFileName ); } - abort(); // do not commit the document command + commit(); }