Class SVGUtil


  • public class SVGUtil
    extends java.lang.Object
    A set of methods to generate SVG content.

    Mainly to keep the footprint small only a very limited set of SVG functionality is supported. In case more features are required have a look at Batik - Java SVG Toolkit.

    Example

     String s = doc(svg(
             160,
             200,
             rect(0, 0, 160, 200, "fill:red;")
             + svg(10, 10, 100, 100,
                     rect(0, 0, 100, 100, "fill:orange; stroke:rgb(0,0,0);"))
             + line(20, 20, 100, 100, "stroke:black; stroke-width:2px;")
             + line(20, 100, 100, 20, "stroke:black; stroke-width:2px;")
             + text(10, 140,
                     "font-family:verdana; font-size:20px; font-weight:bold;",
                     "Hello world")));
     
     File file = new File("demo.svg");
     FileWriter w = null;
     try {
         w = new FileWriter(file);
         w.write(s);
     } finally {
         if (w != null) {
             w.close();
         }
     }
     
    (see main(String[]))

    • Constructor Summary

      Constructors 
      Constructor Description
      SVGUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String doc​(java.lang.String content)  
      static java.lang.String line​(java.lang.Number x1, java.lang.Number y1, java.lang.Number x2, java.lang.Number y2, java.lang.String style)  
      static java.lang.String line​(java.lang.String x1, java.lang.String y1, java.lang.String x2, java.lang.String y2, java.lang.String style)  
      static void main​(java.lang.String[] args)
      Creates a sample SVG file "demo.svg"
      static java.lang.String rect​(java.lang.Number x, java.lang.Number y, java.lang.Number width, java.lang.Number height, java.lang.String style)  
      static java.lang.String rect​(java.lang.Number x, java.lang.Number y, java.lang.Number width, java.lang.Number height, java.lang.String style, java.lang.String extraAttributes)  
      static java.lang.String rect​(java.lang.String x, java.lang.String y, java.lang.String width, java.lang.String height, java.lang.String style)  
      static java.lang.String rect​(java.lang.String x, java.lang.String y, java.lang.String width, java.lang.String height, java.lang.String style, java.lang.String extraAttributes)  
      static java.lang.String svg​(java.lang.Number x, java.lang.Number y, java.lang.Number width, java.lang.Number height, java.lang.String content)  
      static java.lang.String svg​(java.lang.Number width, java.lang.Number height, java.lang.String content)  
      static java.lang.String svg​(java.lang.String width, java.lang.String height, java.lang.String content)  
      static java.lang.String svg​(java.lang.String x, java.lang.String y, java.lang.String width, java.lang.String height, java.lang.String content)  
      static java.lang.String text​(java.lang.Number x, java.lang.Number y, java.lang.String style, java.lang.String text)  
      static java.lang.String text​(java.lang.String x, java.lang.String y, java.lang.String style, java.lang.String text)  
      private static boolean viewSVG​(java.io.File file)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SVGUtil

        public SVGUtil()
    • Method Detail

      • svg

        public static java.lang.String svg​(java.lang.String width,
                                           java.lang.String height,
                                           java.lang.String content)
      • svg

        public static java.lang.String svg​(java.lang.Number width,
                                           java.lang.Number height,
                                           java.lang.String content)
      • svg

        public static java.lang.String svg​(java.lang.String x,
                                           java.lang.String y,
                                           java.lang.String width,
                                           java.lang.String height,
                                           java.lang.String content)
      • svg

        public static java.lang.String svg​(java.lang.Number x,
                                           java.lang.Number y,
                                           java.lang.Number width,
                                           java.lang.Number height,
                                           java.lang.String content)
      • rect

        public static java.lang.String rect​(java.lang.String x,
                                            java.lang.String y,
                                            java.lang.String width,
                                            java.lang.String height,
                                            java.lang.String style,
                                            java.lang.String extraAttributes)
        Parameters:
        x -  
        y -  
        width -  
        height -  
        style -  
        extraAttributes - [default:""]
        Returns:
        an SVG 'rect' tag with the given parameters
      • rect

        public static java.lang.String rect​(java.lang.String x,
                                            java.lang.String y,
                                            java.lang.String width,
                                            java.lang.String height,
                                            java.lang.String style)
      • rect

        public static java.lang.String rect​(java.lang.Number x,
                                            java.lang.Number y,
                                            java.lang.Number width,
                                            java.lang.Number height,
                                            java.lang.String style,
                                            java.lang.String extraAttributes)
        Parameters:
        x -  
        y -  
        width -  
        height -  
        style -  
        extraAttributes - [default:""]
        Returns:
        an SVG 'rect' tag with the given parameters
      • rect

        public static java.lang.String rect​(java.lang.Number x,
                                            java.lang.Number y,
                                            java.lang.Number width,
                                            java.lang.Number height,
                                            java.lang.String style)
      • line

        public static java.lang.String line​(java.lang.String x1,
                                            java.lang.String y1,
                                            java.lang.String x2,
                                            java.lang.String y2,
                                            java.lang.String style)
      • line

        public static java.lang.String line​(java.lang.Number x1,
                                            java.lang.Number y1,
                                            java.lang.Number x2,
                                            java.lang.Number y2,
                                            java.lang.String style)
      • text

        public static java.lang.String text​(java.lang.String x,
                                            java.lang.String y,
                                            java.lang.String style,
                                            java.lang.String text)
      • text

        public static java.lang.String text​(java.lang.Number x,
                                            java.lang.Number y,
                                            java.lang.String style,
                                            java.lang.String text)
      • doc

        public static java.lang.String doc​(java.lang.String content)
      • viewSVG

        private static boolean viewSVG​(java.io.File file)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException
        Creates a sample SVG file "demo.svg"
        Parameters:
        args - option '-view': view the just created file (may not be supported on all platforms)
        Throws:
        java.io.IOException -