如何在Vaadin 7中缩放和滚动SVG

时间:2016-04-04 13:43:03

标签: java svg zoom vaadin vaadin7

我用java创建了一个带有蜡染的SVG图像,我设法用嵌入的vaadin显示它。

// Get a DOMImplementation
DOMImplementation domImpl =
        GenericDOMImplementation.getDOMImplementation();
String svgNamespaceURI = "http://www.w3.org/2000/svg";

// Create an instance of org.w3c.dom.Document
Document document = 
domImpl.createDocument(svgNamespaceURI, "svg", null);
svgGen = new SVGGraphics2D(document);

svgGen.setPaint(Color.green);
svgGen.drawPolyline(new int[]{70, 70, 30}, new int[]{50, 30, 70}, 3);

在vaadin中显示SVG

Writer writer = new OutputStreamWriter(out);
svgGen.stream(writer, useCSS);

StreamSource source = new StreamSource() {
        private static final long serialVersionUID = -4905654404647215809L;

        public InputStream getStream() {
            return new ByteArrayInputStream(out.toByteArray());
        }
    };
// create a StreamResource 
String filename = "svg" + System.currentTimeMillis() + ".svg";
StreamResource stream = new StreamResource(source, filename);

embedded= new Embedded();
embedded.setSizeFull();
embedded.setMimeType("image/svg+xml");
embedded.setSource(stream);       

mainLayout.addComponent(embedded);

我现在想要缩放和滚动图像,并期望Embedded提供此功能。 经过一段时间的搜索,到目前为止我还没有找到合适的解决方案。

问题是,如何启用滚动和缩放SVG-Image?

0 个答案:

没有答案