[ https://issues.apache.org/jira/browse/BATIK-1288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simon Steiner updated BATIK-1288: --------------------------------- Fix Version/s: (was: trunk) > PNG transcoder does not render PNG file correctly > ------------------------------------------------- > > Key: BATIK-1288 > URL: https://issues.apache.org/jira/browse/BATIK-1288 > Project: Batik > Issue Type: Bug > Affects Versions: 1.13 > Environment: MacOS Catalina 10.15.4, MacOS Mojave, both visible on > MacBooks host systems as well as inside Virtual Machines > openjdk version "1.8.0_252" > OpenJDK Runtime Environment Corretto-8.252.09.1 (build 1.8.0_252-b09) > OpenJDK 64-Bit Server VM Corretto-8.252.09.1 (build 25.252-b09, mixed mode) > Reporter: Mateusz > Priority: Major > Attachments: SaveAsPNG.java, correct.png, incorrect_output_1.png, > incorrect_output_2.png, input.svg > > > Please consider such code I use for rendering PNG from SVG. We use it for > rendering various icon sizes. The majority of sizes are rendered as expected > (correct.png) but some are being rendered incorrect (especially 180 and 360). > That affects only some environments - on the majority of our MacBooks it > works fine for most trials and on VMs it usually results in incorrect PNG > rendered as below. Also, I didn't notice it happening for any other text > strings that the one from the sample (that obviously doesn't mean it is the > only one causing that). > May I ask you to check if that is something to be considered a batik bug? Or, > if not - please please point me any investigation directions in terms of my > code correctness, possible environment issues worth checking? > > Thanks! > > *Sample code:* > ``` > PNGTranscoder t = new PNGTranscoder() > { > @Override > protected ImageRenderer createRenderer() > { > ImageRenderer r = super.createRenderer(); > RenderingHints rh = r.getRenderingHints(); > rh.add(new > RenderingHints(RenderingHints.KEY_ALPHA_INTERPOLATION,RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY)); > rh.add(new > RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON)); > rh.add(new > RenderingHints(RenderingHints.KEY_COLOR_RENDERING,RenderingHints.VALUE_COLOR_RENDER_QUALITY)); > rh.add(new > RenderingHints(RenderingHints.KEY_DITHERING,RenderingHints.VALUE_DITHER_DISABLE)); > rh.add(new > RenderingHints(RenderingHints.KEY_FRACTIONALMETRICS,RenderingHints.VALUE_FRACTIONALMETRICS_ON)); > rh.add(new > RenderingHints(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BICUBIC)); > rh.add(new > RenderingHints(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY)); > rh.add(new > RenderingHints(RenderingHints.KEY_STROKE_CONTROL,RenderingHints.VALUE_STROKE_PURE)); > rh.add(new > RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); > return r; > } > }; > float size = 180.0f; > // Set the transcoding hints. > t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, size); > t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, size); > // Create the transcoder input. > String svgURI = new File(args[0]).toURI().toString(); > TranscoderInput input = new TranscoderInput(svgURI); > // Create the transcoder output. > OutputStream ostream = new FileOutputStream("out.png"); > TranscoderOutput output = new TranscoderOutput(ostream); > // Save the image. > t.transcode(input, output); > ``` > > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: batik-dev-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: batik-dev-h...@xmlgraphics.apache.org