From 2ea40c40c650641c960963394ac5efb1522bc6fa Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 21 Mar 2016 17:34:12 +0100 Subject: [PATCH] enabled better render quality --- .../neemann/digital/gui/draw/elements/VisualElement.java | 7 +++++-- .../de/neemann/digital/gui/draw/graphics/GraphicSwing.java | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/draw/elements/VisualElement.java b/src/main/java/de/neemann/digital/gui/draw/elements/VisualElement.java index 61bae7c3b..bc2524b46 100644 --- a/src/main/java/de/neemann/digital/gui/draw/elements/VisualElement.java +++ b/src/main/java/de/neemann/digital/gui/draw/elements/VisualElement.java @@ -140,11 +140,14 @@ public class VisualElement implements Drawable, Moveable, AttributeListener { if (mm.getMax().y - mm.getMin().y > maxHeight) return null; - BufferedImage bi = new BufferedImage(mm.getMax().x - mm.getMin().x, mm.getMax().y - mm.getMin().y, BufferedImage.TYPE_INT_ARGB); + BufferedImage bi = new BufferedImage(mm.getMax().x - mm.getMin().x + 4, mm.getMax().y - mm.getMin().y + 4, BufferedImage.TYPE_INT_ARGB); Graphics2D gr = bi.createGraphics(); + gr.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + gr.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + gr.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); gr.setColor(new Color(255, 255, 255, 0)); gr.fillRect(0, 0, bi.getWidth(), bi.getHeight()); - gr.translate(-mm.getMin().x, -mm.getMin().y); + gr.translate(2 - mm.getMin().x, 2 - mm.getMin().y); GraphicSwing grs = new GraphicSwing(gr); drawTo(grs); return new ImageIcon(bi); diff --git a/src/main/java/de/neemann/digital/gui/draw/graphics/GraphicSwing.java b/src/main/java/de/neemann/digital/gui/draw/graphics/GraphicSwing.java index 61f708806..adc129403 100644 --- a/src/main/java/de/neemann/digital/gui/draw/graphics/GraphicSwing.java +++ b/src/main/java/de/neemann/digital/gui/draw/graphics/GraphicSwing.java @@ -12,6 +12,8 @@ public class GraphicSwing implements Graphic { public GraphicSwing(Graphics2D gr) { this.gr = gr; + gr.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + gr.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); } @Override