ICEpdf
  1. ICEpdf
  2. PDF-15

Wrong color in view when CMYK doesn't provide all values

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 4.0 - Beta, 4.0
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      java version "1.6.0_10"
      linux

      Description

      When viewing some CMYK pdf files the color seems wrong (in my case black instead of red).

      The reason for this seems to be that not all CMYK values are provided (in my case only MYK values). This can be fixed by applying the following patch
      File: ./src/org/icepdf/core/pobjects/graphics/DeviceN.java

          public Color getColor(float[] f) {
              if (func == null) {
                 if (alternate.getNumComponents() > f.length) {
                      float[] ftmp = new float[alternate.getNumComponents()];
                      for (int index = 0; index < f.length && index < names.size(); index++) {
                          if (names.get(index).equals("Cyan")) {
                              ftmp[0] = f[index];
                          }
                          if (names.get(index).equals("Magenta")) {
                              ftmp[1] = f[index];
                          }
                          if (names.get(index).equals("Yellow")) {
                              ftmp[2] = f[index];
                          }
                          if (names.get(index).equals("Black")) {
                              ftmp[3] = f[index];
                          }
                      }
                      f = ftmp;
                  }
                  float y[] = new float[alternate.getNumComponents()];
                  for (int i = 0; i < Math.min(y.length, f.length); i++) {
                      y[i] = f[i];
                  }

                  return alternate.getColor(y);
              }
              float y[] = func.calculate(f);
              if (colorspaces[0] != null) {
                  return colorspaces[0].getColor(reverse(y));
              }
              return alternate.getColor(reverse(y));
          }

        Activity

        Roy Van Der Kuil created issue -
        Roy Van Der Kuil made changes -
        Field Original Value New Value
        Attachment uniekekans.pdf [ 11742 ]
        Roy Van Der Kuil made changes -
        Attachment uniekekans.pdf [ 11742 ]
        Roy Van Der Kuil made changes -
        Attachment uniekekans_test verloop.pdf [ 11743 ]
        Patrick Corless made changes -
        Salesforce Case []
        Fix Version/s 3.1 [ 10181 ]
        Patrick Corless made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Patrick Corless made changes -
        Salesforce Case []
        Affects Version/s 3.2 [ 10212 ]
        Affects Version/s 3.0 [ 10180 ]
        Patrick Corless made changes -
        Salesforce Case []
        Fix Version/s 3.2 [ 10212 ]
        Fix Version/s 3.1 [ 10181 ]
        Affects Version/s 3.0 [ 10180 ]
        Affects Version/s 3.2 [ 10212 ]
        Patrick Corless made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 10222 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Roy Van Der Kuil
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: