[prev in list] [next in list] [prev in thread] [next in thread] 

List:       batik-dev
Subject:    [jira] [Closed] (BATIK-1207) NPE with different PNGTranscoder.KEY_WIDTH, PNGTranscoder.KEY_HEIGHT
From:       "Pascual Lorente (JIRA)" <jira () apache ! org>
Date:       2017-11-23 12:54:00
Message-ID: JIRA.13116430.1509982808000.309509.1511441640277 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/BATIK-1207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Pascual Lorente closed BATIK-1207.
----------------------------------
    Resolution: Not A Problem

I just added style="color-interpolation-filters:sRGB" to the filter

> NPE with different PNGTranscoder.KEY_WIDTH, PNGTranscoder.KEY_HEIGHT
> --------------------------------------------------------------------
> 
> Key: BATIK-1207
> URL: https://issues.apache.org/jira/browse/BATIK-1207
> Project: Batik
> Issue Type: Bug
> Components: SVG Rasterizer
> Affects Versions: 1.9
> Environment: Debian 9
> SDK 1.8.0_151
> Reporter: Pascual Lorente
> Priority: Critical
> Labels: KEY_HEIGHT, KEY_WIDTH, PNGTranscoder
> Attachments: ehld.svg
> 
> 
> I'm having a tough time with PNGTranscoder. I am rendering an SVG document into a \
> PNG image of different sizes. For that, I use a factor. {code:java}
> final float factor = 1.0f;
> // Load document
> final SAXSVGDocumentFactory DOCUMENT_FACTORY = new \
> SAXSVGDocumentFactory(XMLResourceDescriptor.getXMLParserClassName()); SVGDocument \
> document = DOCUMENT_FACTORY.createSVGDocument("ehld.svg"); // Extract original \
> height and width final SVGSVGElement root = document.getRootElement();
> final String viewBox = root.getAttributes().getNamedItem("viewBox").getNodeValue();
> final Scanner scanner = new Scanner(viewBox);
> scanner.useLocale(Locale.UK);
> float x = scanner.nextFloat();
> float y = scanner.nextFloat();
> float width = scanner.nextFloat();
> float height = scanner.nextFloat();
> // Set png width and height
> final float w = width * factor;
> final float h = height * factor;
> final ImageTranscoder transcoder = new PNGTranscoder();
> transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, w);
> transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, h);
> // Export
> final TranscoderInput input = new TranscoderInput(document);
> final File file = new File("output.png");
> final TranscoderOutput output = new TranscoderOutput(new FileOutputStream(file));
> transcoder.transcode(input, output);
> {code}
> For some factors, it works nicely, but there are some of them that crash with:
> Enclosed Exception:
> Unable to transform src image
> 	at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:132)
>   at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
>   at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)
>   at visual.VisualTesting.test(VisualTesting.java:298)
> 	at visual.VisualTesting.main(VisualTesting.java:64)
> From 0.1 to 2.0 (step 0.1) it does NOT work with 0.7, 1.3, 1.4, 1.5, 1.7.
> When I remove the filter in the SVG document \
> (*style="filter:url(#selection-filter)"*, line 1188) problems dissapear. Not sure \
> if a bug or a misusage. Thanks



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-dev-help@xmlgraphics.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic