diff options
author | Pierre-Charles David | 2017-06-01 13:48:42 +0000 |
---|---|---|
committer | Pierre-Charles David | 2017-06-06 11:38:10 +0000 |
commit | 9261d08efd5a8090ad7f6959fb5b90d3c21c7cc1 (patch) | |
tree | 07d07bb821af1bbc5ffd6a3abfe57ba20b3afae6 /plugins | |
parent | 02dc7851ae4cdb0592d501ef76d62125433d0aed (diff) | |
download | org.eclipse.sirius-9261d08efd5a8090ad7f6959fb5b90d3c21c7cc1.tar.gz org.eclipse.sirius-9261d08efd5a8090ad7f6959fb5b90d3c21c7cc1.tar.xz org.eclipse.sirius-9261d08efd5a8090ad7f6959fb5b90d3c21c7cc1.zip |
[517407] Fix exported image scaling for JPEG/PNG
bug: 517407
Change-Id: Ic433166b620d0a7b7338b49fd13f03016d4381fc
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/render/SiriusDiagramImageGenerator.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/render/SiriusDiagramImageGenerator.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/render/SiriusDiagramImageGenerator.java index 8a246ccd6d..ce09c46053 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/render/SiriusDiagramImageGenerator.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/render/SiriusDiagramImageGenerator.java @@ -20,7 +20,6 @@ import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.SWTGraphics; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.PrecisionRectangle; -import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart; import org.eclipse.gmf.runtime.diagram.ui.image.PartPositionInfo; import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants; @@ -78,6 +77,7 @@ public class SiriusDiagramImageGenerator extends DiagramImageGenerator { Graphics2D g2d = awtImage.createGraphics(); g2d.setColor(Color.white); g2d.fillRect(0, 0, awtImage.getWidth(), awtImage.getHeight()); + g2d.scale(factor, factor); // Check anti-aliasing preference IPreferenceStore preferenceStore = (IPreferenceStore) getDiagramEditPart().getDiagramPreferencesHint().getPreferenceStore(); @@ -90,7 +90,8 @@ public class SiriusDiagramImageGenerator extends DiagramImageGenerator { g2d.clip(new java.awt.Rectangle(0, 0, awtImage.getWidth(), awtImage.getHeight())); - Graphics graphics = new SiriusGraphicsToGraphics2DAdaptor(g2d, new Rectangle(0, 0, awtImage.getWidth(), awtImage.getHeight())); + // The sourceRect has already been scaled to the output canvas size, but we need to make sure all the figures are inside the clipping region + Graphics graphics = new SiriusGraphicsToGraphics2DAdaptor(g2d, new PrecisionRectangle(0, 0, rect.width / factor, rect.height / factor)); RenderedMapModeGraphics mapModeGraphics = new RenderedMapModeGraphics(graphics, mm); |