git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@278353 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -48,12 +48,12 @@ public class Arc extends BasicShape implements DrawOperation { | |||||
| /** | /** | ||||
| * @todo refactor using an EnumeratedAttribute | * @todo refactor using an EnumeratedAttribute | ||||
| */ | */ | ||||
| public void setType(String str_type) { | |||||
| if (str_type.toLowerCase().equals("open")) { | |||||
| public void setType(String strType) { | |||||
| if (strType.toLowerCase().equals("open")) { | |||||
| type = Arc2D.OPEN; | type = Arc2D.OPEN; | ||||
| } else if (str_type.toLowerCase().equals("pie")) { | |||||
| } else if (strType.toLowerCase().equals("pie")) { | |||||
| type = Arc2D.PIE; | type = Arc2D.PIE; | ||||
| } else if (str_type.toLowerCase().equals("chord")) { | |||||
| } else if (strType.toLowerCase().equals("chord")) { | |||||
| type = Arc2D.CHORD; | type = Arc2D.CHORD; | ||||
| } | } | ||||
| } | } | ||||
| @@ -65,9 +65,9 @@ public class Arc extends BasicShape implements DrawOperation { | |||||
| Graphics2D graphics = (Graphics2D) bi.getGraphics(); | Graphics2D graphics = (Graphics2D) bi.getGraphics(); | ||||
| if (!stroke.equals("transparent")) { | if (!stroke.equals("transparent")) { | ||||
| BasicStroke b_stroke = new BasicStroke(stroke_width); | |||||
| BasicStroke bStroke = new BasicStroke(stroke_width); | |||||
| graphics.setColor(ColorMapper.getColorByName(stroke)); | graphics.setColor(ColorMapper.getColorByName(stroke)); | ||||
| graphics.setStroke(b_stroke); | |||||
| graphics.setStroke(bStroke); | |||||
| graphics.draw(new Arc2D.Double(stroke_width, stroke_width, width, | graphics.draw(new Arc2D.Double(stroke_width, stroke_width, width, | ||||
| height, start, stop, type)); | height, start, stop, type)); | ||||
| } | } | ||||
| @@ -86,7 +86,8 @@ public class Arc extends BasicShape implements DrawOperation { | |||||
| graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); | graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); | ||||
| } else if (instr instanceof TransformOperation) { | } else if (instr instanceof TransformOperation) { | ||||
| graphics = (Graphics2D) bi.getGraphics(); | graphics = (Graphics2D) bi.getGraphics(); | ||||
| PlanarImage image = ((TransformOperation) instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| PlanarImage image = ((TransformOperation) instr) | |||||
| .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -23,55 +23,71 @@ import java.awt.Color; | |||||
| * @see org.apache.tools.ant.taskdefs.optional.image.Image | * @see org.apache.tools.ant.taskdefs.optional.image.Image | ||||
| */ | */ | ||||
| public final class ColorMapper { | public final class ColorMapper { | ||||
| /** black string */ | |||||
| public static final String COLOR_BLACK = "black"; | public static final String COLOR_BLACK = "black"; | ||||
| /** blue string */ | |||||
| public static final String COLOR_BLUE = "blue"; | public static final String COLOR_BLUE = "blue"; | ||||
| /** cyan string */ | |||||
| public static final String COLOR_CYAN = "cyan"; | public static final String COLOR_CYAN = "cyan"; | ||||
| /** black string */ | |||||
| public static final String COLOR_DARKGRAY = "darkgray"; | public static final String COLOR_DARKGRAY = "darkgray"; | ||||
| /** gray string */ | |||||
| public static final String COLOR_GRAY = "gray"; | public static final String COLOR_GRAY = "gray"; | ||||
| /** lightgray string */ | |||||
| public static final String COLOR_LIGHTGRAY = "lightgray"; | public static final String COLOR_LIGHTGRAY = "lightgray"; | ||||
| // Gotta atleast put in the proper spelling :-P | // Gotta atleast put in the proper spelling :-P | ||||
| /** darkgrey string */ | |||||
| public static final String COLOR_DARKGREY = "darkgrey"; | public static final String COLOR_DARKGREY = "darkgrey"; | ||||
| /** grey string */ | |||||
| public static final String COLOR_GREY = "grey"; | public static final String COLOR_GREY = "grey"; | ||||
| /** lightgrey string */ | |||||
| public static final String COLOR_LIGHTGREY = "lightgrey"; | public static final String COLOR_LIGHTGREY = "lightgrey"; | ||||
| /** green string */ | |||||
| public static final String COLOR_GREEN = "green"; | public static final String COLOR_GREEN = "green"; | ||||
| /** magenta string */ | |||||
| public static final String COLOR_MAGENTA = "magenta"; | public static final String COLOR_MAGENTA = "magenta"; | ||||
| /** orange string */ | |||||
| public static final String COLOR_ORANGE = "orange"; | public static final String COLOR_ORANGE = "orange"; | ||||
| /** pink string */ | |||||
| public static final String COLOR_PINK = "pink"; | public static final String COLOR_PINK = "pink"; | ||||
| /** reg string */ | |||||
| public static final String COLOR_RED = "red"; | public static final String COLOR_RED = "red"; | ||||
| /** white string */ | |||||
| public static final String COLOR_WHITE = "white"; | public static final String COLOR_WHITE = "white"; | ||||
| /** yellow string */ | |||||
| public static final String COLOR_YELLOW = "yellow"; | public static final String COLOR_YELLOW = "yellow"; | ||||
| /** | /** | ||||
| * @todo refactor to use an EnumeratedAttribute (maybe?) | * @todo refactor to use an EnumeratedAttribute (maybe?) | ||||
| */ | */ | ||||
| public static final Color getColorByName(String color_name) { | |||||
| color_name = color_name.toLowerCase(); | |||||
| public static Color getColorByName(String colorName) { | |||||
| colorName = colorName.toLowerCase(); | |||||
| if (color_name.equals(COLOR_BLACK)) { | |||||
| if (colorName.equals(COLOR_BLACK)) { | |||||
| return Color.black; | return Color.black; | ||||
| } else if (color_name.equals(COLOR_BLUE)) { | |||||
| } else if (colorName.equals(COLOR_BLUE)) { | |||||
| return Color.blue; | return Color.blue; | ||||
| } else if (color_name.equals(COLOR_CYAN)) { | |||||
| } else if (colorName.equals(COLOR_CYAN)) { | |||||
| return Color.cyan; | return Color.cyan; | ||||
| } else if (color_name.equals(COLOR_DARKGRAY) || color_name.equals(COLOR_DARKGREY)) { | |||||
| } else if (colorName.equals(COLOR_DARKGRAY) || colorName.equals(COLOR_DARKGREY)) { | |||||
| return Color.darkGray; | return Color.darkGray; | ||||
| } else if (color_name.equals(COLOR_GRAY) || color_name.equals(COLOR_GREY)) { | |||||
| } else if (colorName.equals(COLOR_GRAY) || colorName.equals(COLOR_GREY)) { | |||||
| return Color.gray; | return Color.gray; | ||||
| } else if (color_name.equals(COLOR_LIGHTGRAY) || color_name.equals(COLOR_LIGHTGREY)) { | |||||
| } else if (colorName.equals(COLOR_LIGHTGRAY) || colorName.equals(COLOR_LIGHTGREY)) { | |||||
| return Color.lightGray; | return Color.lightGray; | ||||
| } else if (color_name.equals(COLOR_GREEN)) { | |||||
| } else if (colorName.equals(COLOR_GREEN)) { | |||||
| return Color.green; | return Color.green; | ||||
| } else if (color_name.equals(COLOR_MAGENTA)) { | |||||
| } else if (colorName.equals(COLOR_MAGENTA)) { | |||||
| return Color.magenta; | return Color.magenta; | ||||
| } else if (color_name.equals(COLOR_ORANGE)) { | |||||
| } else if (colorName.equals(COLOR_ORANGE)) { | |||||
| return Color.orange; | return Color.orange; | ||||
| } else if (color_name.equals(COLOR_PINK)) { | |||||
| } else if (colorName.equals(COLOR_PINK)) { | |||||
| return Color.pink; | return Color.pink; | ||||
| } else if (color_name.equals(COLOR_RED)) { | |||||
| } else if (colorName.equals(COLOR_RED)) { | |||||
| return Color.red; | return Color.red; | ||||
| } else if (color_name.equals(COLOR_WHITE)) { | |||||
| } else if (colorName.equals(COLOR_WHITE)) { | |||||
| return Color.white; | return Color.white; | ||||
| } else if (color_name.equals(COLOR_YELLOW)) { | |||||
| } else if (colorName.equals(COLOR_YELLOW)) { | |||||
| return Color.yellow; | return Color.yellow; | ||||
| } | } | ||||
| return Color.black; | return Color.black; | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -32,6 +32,7 @@ public interface DrawOperation { | |||||
| * Abstract method which is intended to create an image buffer | * Abstract method which is intended to create an image buffer | ||||
| * and return it so it can be drawn into another object. Use | * and return it so it can be drawn into another object. Use | ||||
| * an Alpha channel for a "transparent" background. | * an Alpha channel for a "transparent" background. | ||||
| * @return a planar image | |||||
| */ | */ | ||||
| public PlanarImage executeDrawOperation(); | |||||
| PlanarImage executeDrawOperation(); | |||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -44,9 +44,9 @@ public class Ellipse extends BasicShape implements DrawOperation { | |||||
| Graphics2D graphics = (Graphics2D) bi.getGraphics(); | Graphics2D graphics = (Graphics2D) bi.getGraphics(); | ||||
| if (!stroke.equals("transparent")) { | if (!stroke.equals("transparent")) { | ||||
| BasicStroke b_stroke = new BasicStroke(stroke_width); | |||||
| BasicStroke bStroke = new BasicStroke(stroke_width); | |||||
| graphics.setColor(ColorMapper.getColorByName(stroke)); | graphics.setColor(ColorMapper.getColorByName(stroke)); | ||||
| graphics.setStroke(b_stroke); | |||||
| graphics.setStroke(bStroke); | |||||
| graphics.draw(new Ellipse2D.Double(0, 0, width, height)); | graphics.draw(new Ellipse2D.Double(0, 0, width, height)); | ||||
| } | } | ||||
| @@ -63,7 +63,8 @@ public class Ellipse extends BasicShape implements DrawOperation { | |||||
| graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); | graphics.drawImage(img.getAsBufferedImage(), null, 0, 0); | ||||
| } else if (instr instanceof TransformOperation) { | } else if (instr instanceof TransformOperation) { | ||||
| graphics = (Graphics2D) bi.getGraphics(); | graphics = (Graphics2D) bi.getGraphics(); | ||||
| PlanarImage image = ((TransformOperation) instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| PlanarImage image = ((TransformOperation) instr) | |||||
| .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -55,9 +55,9 @@ public class Rectangle extends BasicShape implements DrawOperation { | |||||
| Graphics2D graphics = (Graphics2D) bi.getGraphics(); | Graphics2D graphics = (Graphics2D) bi.getGraphics(); | ||||
| if (!stroke.equals("transparent")) { | if (!stroke.equals("transparent")) { | ||||
| BasicStroke b_stroke = new BasicStroke(stroke_width); | |||||
| BasicStroke bStroke = new BasicStroke(stroke_width); | |||||
| graphics.setColor(ColorMapper.getColorByName(stroke)); | graphics.setColor(ColorMapper.getColorByName(stroke)); | ||||
| graphics.setStroke(b_stroke); | |||||
| graphics.setStroke(bStroke); | |||||
| if ((arcwidth != 0) || (archeight != 0)) { | if ((arcwidth != 0) || (archeight != 0)) { | ||||
| graphics.drawRoundRect(0, 0, width, height, arcwidth, archeight); | graphics.drawRoundRect(0, 0, width, height, arcwidth, archeight); | ||||
| @@ -87,7 +87,8 @@ public class Rectangle extends BasicShape implements DrawOperation { | |||||
| } else if (instr instanceof TransformOperation) { | } else if (instr instanceof TransformOperation) { | ||||
| graphics = (Graphics2D) bi.getGraphics(); | graphics = (Graphics2D) bi.getGraphics(); | ||||
| PlanarImage image | PlanarImage image | ||||
| = ((TransformOperation) instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| = ((TransformOperation) instr) | |||||
| .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002-2004 The Apache Software Foundation | |||||
| * Copyright 2002-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -41,12 +41,12 @@ public class Rotate extends TransformOperation implements DrawOperation { | |||||
| public PlanarImage performRotate(PlanarImage image) { | public PlanarImage performRotate(PlanarImage image) { | ||||
| float t_angle = (float) (angle * (Math.PI / 180.0F)); | |||||
| float tAngle = (float) (angle * (Math.PI / 180.0F)); | |||||
| ParameterBlock pb = new ParameterBlock(); | ParameterBlock pb = new ParameterBlock(); | ||||
| pb.addSource(image); | pb.addSource(image); | ||||
| pb.add(0.0F); | pb.add(0.0F); | ||||
| pb.add(0.0F); | pb.add(0.0F); | ||||
| pb.add(t_angle); | |||||
| pb.add(tAngle); | |||||
| pb.add(new InterpolationNearest()); | pb.add(new InterpolationNearest()); | ||||
| return JAI.create("Rotate", pb, null); | return JAI.create("Rotate", pb, null); | ||||
| } | } | ||||
| @@ -72,7 +72,8 @@ public class Rotate extends TransformOperation implements DrawOperation { | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| graphics = (Graphics2D) bi.getGraphics(); | graphics = (Graphics2D) bi.getGraphics(); | ||||
| System.out.println("Execing Transforms"); | System.out.println("Execing Transforms"); | ||||
| image = ((TransformOperation) instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| image = ((TransformOperation) instr) | |||||
| .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -29,10 +29,10 @@ import java.awt.image.renderable.ParameterBlock; | |||||
| */ | */ | ||||
| public class Scale extends TransformOperation implements DrawOperation { | public class Scale extends TransformOperation implements DrawOperation { | ||||
| private String width_str = "100%"; | |||||
| private String height_str = "100%"; | |||||
| private boolean x_percent = true; | |||||
| private boolean y_percent = true; | |||||
| private String widthStr = "100%"; | |||||
| private String heightStr = "100%"; | |||||
| private boolean xPercent = true; | |||||
| private boolean yPercent = true; | |||||
| private String proportions = "ignore"; | private String proportions = "ignore"; | ||||
| public static class ProportionsAttribute extends EnumeratedAttribute { | public static class ProportionsAttribute extends EnumeratedAttribute { | ||||
| @@ -52,68 +52,70 @@ public class Scale extends TransformOperation implements DrawOperation { | |||||
| * Sets the width of the image, either as an integer or a %. Defaults to 100%. | * Sets the width of the image, either as an integer or a %. Defaults to 100%. | ||||
| */ | */ | ||||
| public void setWidth(String width) { | public void setWidth(String width) { | ||||
| width_str = width; | |||||
| widthStr = width; | |||||
| } | } | ||||
| /** | /** | ||||
| * Sets the height of the image, either as an integer or a %. Defaults to 100%. | * Sets the height of the image, either as an integer or a %. Defaults to 100%. | ||||
| */ | */ | ||||
| public void setHeight(String height) { | public void setHeight(String height) { | ||||
| height_str = height; | |||||
| heightStr = height; | |||||
| } | } | ||||
| public float getWidth() { | public float getWidth() { | ||||
| float width = 0.0F; | float width = 0.0F; | ||||
| int perc_index = width_str.indexOf('%'); | |||||
| if (perc_index > 0) { | |||||
| width = Float.parseFloat(width_str.substring(0, perc_index)); | |||||
| x_percent = true; | |||||
| int percIndex = widthStr.indexOf('%'); | |||||
| if (percIndex > 0) { | |||||
| width = Float.parseFloat(widthStr.substring(0, percIndex)); | |||||
| xPercent = true; | |||||
| return width / 100; | return width / 100; | ||||
| } else { | } else { | ||||
| x_percent = false; | |||||
| return Float.parseFloat(width_str); | |||||
| xPercent = false; | |||||
| return Float.parseFloat(widthStr); | |||||
| } | } | ||||
| } | } | ||||
| public float getHeight() { | public float getHeight() { | ||||
| int perc_index = height_str.indexOf('%'); | |||||
| if (perc_index > 0) { | |||||
| float height = Float.parseFloat(height_str.substring(0, perc_index)); | |||||
| y_percent = true; | |||||
| int percIndex = heightStr.indexOf('%'); | |||||
| if (percIndex > 0) { | |||||
| float height = Float.parseFloat(heightStr.substring(0, percIndex)); | |||||
| yPercent = true; | |||||
| return height / 100; | return height / 100; | ||||
| } else { | } else { | ||||
| y_percent = false; | |||||
| return Float.parseFloat(height_str); | |||||
| yPercent = false; | |||||
| return Float.parseFloat(heightStr); | |||||
| } | } | ||||
| } | } | ||||
| public PlanarImage performScale(PlanarImage image) { | public PlanarImage performScale(PlanarImage image) { | ||||
| ParameterBlock pb = new ParameterBlock(); | ParameterBlock pb = new ParameterBlock(); | ||||
| pb.addSource(image); | pb.addSource(image); | ||||
| float x_fl = getWidth(); | |||||
| float y_fl = getHeight(); | |||||
| float xFl = getWidth(); | |||||
| float yFl = getHeight(); | |||||
| if (!x_percent) { | |||||
| x_fl = (x_fl / image.getWidth()); | |||||
| if (!xPercent) { | |||||
| xFl = (xFl / image.getWidth()); | |||||
| } | } | ||||
| if (!y_percent) { | |||||
| y_fl = (y_fl / image.getHeight()); | |||||
| if (!yPercent) { | |||||
| yFl = (yFl / image.getHeight()); | |||||
| } | } | ||||
| if ("width".equals(proportions)) { | if ("width".equals(proportions)) { | ||||
| y_fl = x_fl; | |||||
| yFl = xFl; | |||||
| } else if ("height".equals(proportions)) { | } else if ("height".equals(proportions)) { | ||||
| x_fl = y_fl; | |||||
| xFl = yFl; | |||||
| } else if ("fit".equals(proportions)) { | } else if ("fit".equals(proportions)) { | ||||
| x_fl = y_fl = Math.min(x_fl, y_fl); | |||||
| yFl = Math.min(xFl, yFl); | |||||
| xFl = yFl; | |||||
| } else if ("cover".equals(proportions)) { | } else if ("cover".equals(proportions)) { | ||||
| x_fl = y_fl = Math.max(x_fl, y_fl); | |||||
| yFl = Math.max(xFl, yFl); | |||||
| xFl = yFl; | |||||
| } | } | ||||
| pb.add(new Float(x_fl)); | |||||
| pb.add(new Float(y_fl)); | |||||
| pb.add(new Float(xFl)); | |||||
| pb.add(new Float(yFl)); | |||||
| log("\tScaling to " + (x_fl * 100) + "% x " + (y_fl * 100) + "%"); | |||||
| log("\tScaling to " + (xFl * 100) + "% x " + (yFl * 100) + "%"); | |||||
| return JAI.create("scale", pb); | return JAI.create("scale", pb); | ||||
| } | } | ||||
| @@ -127,7 +129,8 @@ public class Scale extends TransformOperation implements DrawOperation { | |||||
| return performScale(image); | return performScale(image); | ||||
| } else if (instr instanceof TransformOperation) { | } else if (instr instanceof TransformOperation) { | ||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| image = ((TransformOperation) instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| image = ((TransformOperation) instr) | |||||
| .executeTransformOperation(PlanarImage.wrapRenderedImage(bi)); | |||||
| bi = image.getAsBufferedImage(); | bi = image.getAsBufferedImage(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * Copyright 2002,2004 The Apache Software Foundation | |||||
| * Copyright 2002,2004-2005 The Apache Software Foundation | |||||
| * | * | ||||
| * Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| * you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
| @@ -29,7 +29,7 @@ import java.awt.image.BufferedImage; | |||||
| * @see org.apache.tools.ant.taskdefs.optional.image.Image | * @see org.apache.tools.ant.taskdefs.optional.image.Image | ||||
| */ | */ | ||||
| public class Text extends ImageOperation implements DrawOperation { | public class Text extends ImageOperation implements DrawOperation { | ||||
| private String str_text = ""; | |||||
| private String strText = ""; | |||||
| private String font = "Arial"; | private String font = "Arial"; | ||||
| private int point = 10; | private int point = 10; | ||||
| private boolean bold = false; | private boolean bold = false; | ||||
| @@ -37,7 +37,7 @@ public class Text extends ImageOperation implements DrawOperation { | |||||
| private String color = "black"; | private String color = "black"; | ||||
| public void setString(String str) { | public void setString(String str) { | ||||
| str_text = str; | |||||
| strText = str; | |||||
| } | } | ||||
| public void setFont(String f) { | public void setFont(String f) { | ||||
| @@ -67,7 +67,7 @@ public class Text extends ImageOperation implements DrawOperation { | |||||
| } | } | ||||
| public PlanarImage executeDrawOperation() { | public PlanarImage executeDrawOperation() { | ||||
| log("\tCreating Text \"" + str_text + "\""); | |||||
| log("\tCreating Text \"" + strText + "\""); | |||||
| Color couloir = ColorMapper.getColorByName(color); | Color couloir = ColorMapper.getColorByName(color); | ||||
| int width = 1; | int width = 1; | ||||
| @@ -75,23 +75,27 @@ public class Text extends ImageOperation implements DrawOperation { | |||||
| BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR_PRE); | BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR_PRE); | ||||
| Graphics2D graphics = (Graphics2D) bi.getGraphics(); | Graphics2D graphics = (Graphics2D) bi.getGraphics(); | ||||
| graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); | |||||
| graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); | |||||
| graphics.setRenderingHint( | |||||
| 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 = new Font(font, Font.PLAIN, point); | ||||
| FontMetrics fmetrics = graphics.getFontMetrics(f); | FontMetrics fmetrics = graphics.getFontMetrics(f); | ||||
| height = fmetrics.getMaxAscent() + fmetrics.getMaxDescent(); | height = fmetrics.getMaxAscent() + fmetrics.getMaxDescent(); | ||||
| width = fmetrics.stringWidth(str_text); | |||||
| width = fmetrics.stringWidth(strText); | |||||
| bi = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR_PRE); | bi = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR_PRE); | ||||
| graphics = (Graphics2D) bi.getGraphics(); | graphics = (Graphics2D) bi.getGraphics(); | ||||
| graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); | |||||
| graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); | |||||
| graphics.setRenderingHint( | |||||
| RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); | |||||
| graphics.setRenderingHint( | |||||
| RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); | |||||
| graphics.setFont(f); | graphics.setFont(f); | ||||
| graphics.setColor(couloir); | graphics.setColor(couloir); | ||||
| graphics.drawString(str_text, 0, height - fmetrics.getMaxDescent()); | |||||
| graphics.drawString(strText, 0, height - fmetrics.getMaxDescent()); | |||||
| PlanarImage image = PlanarImage.wrapRenderedImage(bi); | PlanarImage image = PlanarImage.wrapRenderedImage(bi); | ||||
| return image; | return image; | ||||
| } | } | ||||