Uploaded image for project: 'Batik'
  1. Batik
  2. BATIK-1153

PNGTranscoder creates (visually) different PNGs on Mac or Windows for same SVG



    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.7, 1.8
    • Fix Version/s: None
    • Component/s: SVG Rasterizer
    • Labels:


      We use the PNGTranscoder to rasterize SVGs into PNG.
      We get visually different results when we rasterize the same identical SVG on Windows and on Mac.

      While debugging around I found out that ConcreteImageRendererFactory#createStaticImageRenderer creates different Implementation on Mac / Windows. This was implemented because of https://issues.apache.org/jira/browse/BATIK-593?jql=project%20%3D%20BATIK%20AND%20text%20~%20Mac .
      I now did create StaticRenderer and MacRenderer on Mac and Windows machines (by directly calling the constructor).
      These are the results:

      • StaticRender and MacRenderer created visually different PNGs when executed on Mac
      • StaticRenderer and MacRenderer produces visually the same PNGs when executed on Windows
      • StaticRenderer executed on Mac produces visually the same PNG as executed on Windows

      So only the StaticRenderer creates the same results on both platforms. I have attached the SVG and the 4 versions of the rendered PNG.

      So my questions:

      1. Does this performance issue mentioned in https://issues.apache.org/jira/browse/BATIK-593?jql=project%20%3D%20BATIK%20AND%20text%20~%20Mac still exist?
      2. Why does the MacRenderer produce the same result as the StaticRenderer on Windows but not on Mac?


        1. fldr_obj.svg
          9 kB
          Matthias Becker
        2. fldr_obj_StaticRenderer_on_win.png
          0.5 kB
          Matthias Becker
        3. fldr_obj_StaticRenderer_on_mac.png
          0.5 kB
          Matthias Becker
        4. fldr_obj_MacRenderer_on_win.png
          0.5 kB
          Matthias Becker
        5. fldr_obj_MacRenderer_on_mac.png
          0.5 kB
          Matthias Becker



            • Assignee:
              beckerMatthias Matthias Becker
            • Votes:
              1 Vote for this issue
              2 Start watching this issue


              • Created: