ICEpdf
  1. ICEpdf
  2. PDF-1232

Image with separation colour space is rendering transparent

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.2.5, 6.3
    • Fix Version/s: 6.3.1
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      any

      Description

      The file in question has in image that is encoded using a Separation colour space. Separation is an interesting colour space as it has no support for alpha perhaps a throwback to its printing press roots.

      The colour space takes a named colour as well as a tint value which is used to compose an rgb colour. We've had some trouble doing this correctly in the past PDF-696, PDF-694 and PDF-337. This test file has helped shed some light on the problem.

        Activity

        Patrick Corless created issue -
        Patrick Corless made changes -
        Field Original Value New Value
        Fix Version/s 6.3.1 [ 13113 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52308 Wed Feb 14 08:46:22 MST 2018 patrick.corless PDF-1232 added a basic blending calculation against the calculated
        tint values and a white background.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/graphics/images/ImageUtility.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/graphics/Separation.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52309 Wed Feb 14 09:16:40 MST 2018 patrick.corless PDF-1232 added further synchronization to avoid some caching issue
        that can occur if two images ues the same Separation instance.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/graphics/Separation.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/core-awt/src/main/java/org/icepdf/core/pobjects/graphics/PColorSpace.java
        Hide
        Patrick Corless added a comment -

        The preferred way to handle the a separation colour space according the spec is to take the named colour if present and apply the tint value to each of the named colour components. Our previous attempts would apply tint as the alpha constant. This works OK in a lot of examples but is against what the color space's basic principles.

        The sample pdf had an image with pink bleed though from the background color. Given all the data, it apparently that we needed to apply our own blend against a white background (ie paper) to get the image to render correctly. Our other test cases happily rendered correctly.

        Show
        Patrick Corless added a comment - The preferred way to handle the a separation colour space according the spec is to take the named colour if present and apply the tint value to each of the named colour components. Our previous attempts would apply tint as the alpha constant. This works OK in a lot of examples but is against what the color space's basic principles. The sample pdf had an image with pink bleed though from the background color. Given all the data, it apparently that we needed to apply our own blend against a white background (ie paper) to get the image to render correctly. Our other test cases happily rendered correctly.
        Hide
        Patrick Corless added a comment -

        Marking as fixe. d

        Show
        Patrick Corless added a comment - Marking as fixe. d
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Judy Guglielmin made changes -
        Support Case References Support Case 14290:- https://icesoft.my.salesforce.com/5000g00001rJ77M?srPos=0&srKp=500

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: