Код: Выделить всё
public static BufferedImage rasterize(InputStream svgInput, int width, int height) throws TranscoderException {
AtomicReference results = new AtomicReference();
ImageTranscoder transcoder = new ImageTranscoder() {
@Override
public BufferedImage createImage(int width, int height) {
return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
}
@Override
public void writeImage(BufferedImage image, TranscoderOutput output) throws TranscoderException {
results.set(image);
}
};
TranscodingHints hints = new TranscodingHints();
if (width > 0)
hints.put(SVGAbstractTranscoder.KEY_WIDTH, (float) width);
if (height > 0)
hints.put(SVGAbstractTranscoder.KEY_HEIGHT, (float) height);
hints.put(XMLAbstractTranscoder.KEY_DOM_IMPLEMENTATION, SVGDOMImplementation.getDOMImplementation());
hints.put(XMLAbstractTranscoder.KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, SVGConstants.SVG_NAMESPACE_URI);
hints.put(XMLAbstractTranscoder.KEY_DOCUMENT_ELEMENT_NAMESPACE_URI, SVGConstants.SVG_NAMESPACE_URI);
hints.put(XMLAbstractTranscoder.KEY_DOCUMENT_ELEMENT, SVGConstants.SVG_SVG_TAG);
hints.put(XMLAbstractTranscoder.KEY_XML_PARSER_VALIDATING, false);
transcoder.setTranscodingHints(hints);
transcoder.transcode(new TranscoderInput(svgInput), null);
return results.get();
}
< /code>
Это одна из векторной графики, которую я использую: < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ache-batik