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>
Как вы можете видеть, атрибут Fill устанавливается в CurrentColor . Это всегда приводит к черной наполнению. Есть ли значение значения для CurrentColor через Batik, чтобы результирующее изображение не черное?
У меня есть метод утилиты, который принимает SVG и использует Apache Batik, чтобы расчистить его: < /p> [code]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); }
transcoder.transcode(new TranscoderInput(svgInput), null); return results.get(); } < /code> Это одна из векторной графики, которую я использую: < /p>
[/code] Как вы можете видеть, атрибут Fill устанавливается в CurrentColor . Это всегда приводит к черной наполнению. Есть ли значение значения для CurrentColor через Batik, чтобы результирующее изображение не черное?
Я создал следующий код для проверки интеграции Batik Rhino:
public class BatikTest
{
public static void main(String...args) throws SAXException, IOException, ParserConfigurationException, TranscoderException, TransformerException
{...
Тот же вопрос, что и «Как заставить изображение SVG наследовать цвета из документа HTML?», но особенно при применении к изображению SVG, используемому в качестве содержимого в псевдоэлементе :before.
/>
(Желаемое поведение: обе галочки наследуют...
Есть ли метод, с помощью которого я могу изменить непрозрачность границы, цвет которой настроен на наследование цвета от currentColor? Т.е. унаследуйте currentColor в #inner2 и установите его непрозрачность на 0,25.
Пожалуйста, ищите решение на...