[ 
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

Reply via email to