Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hu.tyrell.openaviationmap.rendering;
- import java.awt.Graphics2D;
- import java.awt.geom.AffineTransform;
- import java.awt.image.ColorModel;
- import java.awt.image.DataBuffer;
- import java.awt.image.SampleModel;
- import javax.media.jai.JAI;
- import javax.media.jai.RasterFactory;
- import javax.media.jai.TiledImage;
- import org.apache.batik.bridge.BridgeContext;
- import org.apache.batik.bridge.DocumentLoader;
- import org.apache.batik.bridge.GVTBuilder;
- import org.apache.batik.bridge.UserAgent;
- import org.apache.batik.bridge.UserAgentAdapter;
- import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
- import org.apache.batik.gvt.GraphicsNode;
- import org.apache.batik.util.XMLResourceDescriptor;
- import org.w3c.dom.Document;
- public class RenderSvg {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- String parser = XMLResourceDescriptor.getXMLParserClassName();
- SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
- String uri = "file:/tmp/navaid_designated.svg";
- Document doc = f.createDocument(uri);
- UserAgent userAgent = new UserAgentAdapter();
- DocumentLoader loader = new DocumentLoader(userAgent);
- BridgeContext ctx = new BridgeContext(userAgent, loader);
- ctx.setDynamic(true);
- // creates node builder and builds node
- GVTBuilder builder = new GVTBuilder();
- GraphicsNode node = builder.build(ctx, doc);
- /*
- BufferedImage image = new BufferedImage(600, 600,
- BufferedImage.TYPE_INT_RGB);
- */
- SampleModel sampleModel = RasterFactory.createBandedSampleModel(
- DataBuffer.TYPE_BYTE,
- 1024, 1024,
- 3);
- ColorModel cm = TiledImage.createColorModel(sampleModel);
- TiledImage image = new TiledImage(0, 0,
- 600, 600,
- 0, 0,
- sampleModel, cm);
- Graphics2D gr = image.createGraphics();
- // AffineTransform[[0.074376245138032, 0.0, 199.48220825195312], [0.0, 0.074781688024915, 117.63469696044922]]
- AffineTransform transform = new AffineTransform(
- 0.074376245138032, 0.0, 0.0, 0.074781688024915, 199.48220825195312, 117.63469696044922);
- gr.setTransform(transform);
- node.paint(gr);
- JAI.create("filestore", image, "/tmp/svg.tif", "TIFF", null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement