batik

batik相关说明
     batik是apache下的一个开源、免费项目  http://xmlgraphics.apache.org/batik/download.html
batik用于java处理SVG矢量图,众多浏览器对于SVG都提供了很好的支持,所以,不用将SVG格式换成PNG、JPG等格式就可以直接输出到浏览器

batik 的依赖
      由于本 demo 只是使用 batik 在 servlet 中往页面输出简单的 SVG 图像,根据前面    提到的模块依赖图 ,将 batik 相关的 jar 放入 WEB-INF/lib 下:batik-awt-util.jar,
batik-dom.jar,batik-ext.jar,batik-svggen.jar,batik-util.jar,batik-xml.jar


 
// Get a DOMImplementation.  
        DOMImplementation domImpl = GenericDOMImplementation  
                .getDOMImplementation();  
  
        // Create an instance of org.w3c.dom.Document.  
        String svgNS = "http://www.w3.org/2000/svg";  
        Document document = domImpl.createDocument(svgNS, "svg", null);  
  
        // Create an instance of the SVG Generator.  
        SVGGraphics2D g2d = new SVGGraphics2D(document);  
  
        // Ask the test to render into the SVG Graphics2D implementation.  
        g2d.setPaint(Color.yellow);  
        g2d.fill(new Rectangle(400, 0, 1000, 800));  
          
        g2d.setPaint(Color.black);  
		g2d.setFont(new Font("Times New Roman",Font.PLAIN,28));  
        g2d.drawString("12345", 500, 200);  
        g2d.drawString("123456", 500, 400); 
        
        int x1,x2,y1,y2;
        
        x1=100;
        y1=180;
        
        x2=600;
        y2=210;
        
        g2d.drawLine(x1, y1, x2, y1);
        g2d.drawLine(x1, y2, x2, y2);
        
        g2d.drawLine(x1, y1, x1, y2);
        g2d.drawLine(x2, y1, x2, y2);g2d.drawLine(x2, y1, x2, y2);
        
        g2d.drawLine(x1, y1, x2, y2);
        
        
        g2d.draw3DRect(x1, y1, 200, 300, false);
        g2d.drawArc(x1, y1, 200, 300, 0,270);//弧
        
        g2d.drawOval(x2, y2, 200, 300);//椭圆
        g2d.drawRect(x2, y2, 200, 300);//矩形
        
        g2d.setPaint(Color.blue); 
        g2d.drawRoundRect(x2, y1, 200, 300,  0,90);//圆角矩形
        
        int[] xPoints={600, 650,700};
        int[] yPoints={180,150,210};
        
        g2d.drawPolygon(xPoints, yPoints, yPoints.length);//多边形
        
        File file=new File("E:/sss.svg");
        
        Writer w=  new FileWriter(file);
        
        g2d.stream(w, true);  

猜你喜欢

转载自zaq369cde.iteye.com/blog/1894767