Salome HOME
Export image corrected (Bug #147).
authoradv <adv@opencascade.com>
Thu, 5 Dec 2013 08:52:49 +0000 (08:52 +0000)
committeradv <adv@opencascade.com>
Thu, 5 Dec 2013 08:52:49 +0000 (08:52 +0000)
src/HYDROGUI/HYDROGUI_ExportImageOp.cxx

index cedcb441b284dbd4d7f9383087fe6e99ace79b42..7a3a7caa950c7ad4ef0086d7027ea01527c142fb 100644 (file)
@@ -53,8 +53,16 @@ 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 = SUIT_FileDlg::getFileName( module()->getApp()->desktop(),
                                                    "", aFilter, tr( "EXPORT_IMAGE_TO_FILE" ), false );