diff --git a/src/main/org/apache/tools/ant/types/optional/image/Arc.java b/src/main/org/apache/tools/ant/types/optional/image/Arc.java index 3d8b29b2d..ce29bfd37 100644 --- a/src/main/org/apache/tools/ant/types/optional/image/Arc.java +++ b/src/main/org/apache/tools/ant/types/optional/image/Arc.java @@ -112,10 +112,10 @@ public class Arc extends BasicShape implements DrawOperation { PlanarImage img = ((DrawOperation) instr).executeDrawOperation(); graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); } else if (instr instanceof TransformOperation) { - graphics = (Graphics2D) bi.getGraphics(); PlanarImage image = ((TransformOperation) instr) .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); bi = image.getAsBufferedImage(); + graphics = (Graphics2D) bi.getGraphics(); } } return PlanarImage.wrapRenderedImage(bi); diff --git a/src/main/org/apache/tools/ant/types/optional/image/Ellipse.java b/src/main/org/apache/tools/ant/types/optional/image/Ellipse.java index 9fa1802d4..635d809bd 100644 --- a/src/main/org/apache/tools/ant/types/optional/image/Ellipse.java +++ b/src/main/org/apache/tools/ant/types/optional/image/Ellipse.java @@ -76,10 +76,10 @@ public class Ellipse extends BasicShape implements DrawOperation { PlanarImage img = ((DrawOperation) instr).executeDrawOperation(); graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); } else if (instr instanceof TransformOperation) { - graphics = (Graphics2D) bi.getGraphics(); PlanarImage image = ((TransformOperation) instr) .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); bi = image.getAsBufferedImage(); + graphics = (Graphics2D) bi.getGraphics(); } } return PlanarImage.wrapRenderedImage(bi); diff --git a/src/main/org/apache/tools/ant/types/optional/image/Rectangle.java b/src/main/org/apache/tools/ant/types/optional/image/Rectangle.java index e2d5bb1b2..836b6ca00 100644 --- a/src/main/org/apache/tools/ant/types/optional/image/Rectangle.java +++ b/src/main/org/apache/tools/ant/types/optional/image/Rectangle.java @@ -107,11 +107,11 @@ public class Rectangle extends BasicShape implements DrawOperation { PlanarImage img = ((DrawOperation) instr).executeDrawOperation(); graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); } else if (instr instanceof TransformOperation) { - graphics = (Graphics2D) bi.getGraphics(); PlanarImage image = ((TransformOperation) instr) .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); bi = image.getAsBufferedImage(); + graphics = (Graphics2D) bi.getGraphics(); } } return PlanarImage.wrapRenderedImage(bi); diff --git a/src/main/org/apache/tools/ant/types/optional/image/Text.java b/src/main/org/apache/tools/ant/types/optional/image/Text.java index 5ba010a2d..ac18ed4ca 100644 --- a/src/main/org/apache/tools/ant/types/optional/image/Text.java +++ b/src/main/org/apache/tools/ant/types/optional/image/Text.java @@ -103,7 +103,7 @@ public class Text extends ImageOperation implements DrawOperation { RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); graphics.setRenderingHint( RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); - Font f = new Font(font, Font.PLAIN, point); + Font f = createFont(); FontMetrics fmetrics = graphics.getFontMetrics(f); height = fmetrics.getMaxAscent() + fmetrics.getMaxDescent(); width = fmetrics.stringWidth(strText); @@ -123,4 +123,15 @@ public class Text extends ImageOperation implements DrawOperation { PlanarImage image = PlanarImage.wrapRenderedImage(bi); return image; } + + private Font createFont() { + int style = Font.PLAIN; + if (bold) { + style |= Font.BOLD; + } + if (italic) { + style |= Font.ITALIC; + } + return new Font(font, style, point); + } }