[
https://issues.apache.org/jira/browse/PDFBOX-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14247194#comment-14247194
]
John Hewson edited comment on PDFBOX-2570 at 12/15/14 9:08 PM:
---------------------------------------------------------------
Yes you can override getGamma and setGamma to do that. My understanding is that
a CalRGB color space is identical to a CalRGB color space with a Gamma = [G, G,
G] and Matrix = Identity.
The PDGamma APIs are old and mostly unused, setGamma certainly needs some
refactoring.
was (Author: jahewson):
Yes you can override getGamma and setGamma to do that. A CalRGB color space is
identical to a CalRGB color space with a Gamma = [G, G, G] and Matrix =
Identity. My understanding is that the methods are the same once you do an
identity transform and use the same gamma for all components.
The PDGamma APIs are old and mostly unused, setGamma certainly needs some
refactoring.
> ClassCastException in PDCalGray: COSFloat cannot be cast to COSArray
> --------------------------------------------------------------------
>
> Key: PDFBOX-2570
> URL: https://issues.apache.org/jira/browse/PDFBOX-2570
> Project: PDFBox
> Issue Type: Bug
> Components: Parsing
> Affects Versions: 2.0.0
> Reporter: Tilman Hausherr
> Assignee: Tilman Hausherr
> Labels: CalGray, CalRGB, regression
> Fix For: 2.0.0
>
>
> {code}
> INFORMATION: Rendering: PDFBOX-1724.pdf
> java.lang.ClassCastException: org.apache.pdfbox.cos.COSFloat cannot be cast
> to org.apache.pdfbox.cos.COSArray
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDCalRGB.getGamma(PDCalRGB.java:158)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDCalRGB.toRGB(PDCalRGB.java:95)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDCalGray.toRGB(PDCalGray.java:81)
> at
> org.apache.pdfbox.pdmodel.graphics.color.PDCIEBasedColorSpace.toRGBImage(PDCIEBasedColorSpace.java:88)
> {code}
> The cause is that in one of the redesigns it was overseen that the Gamma is a
> single value for CalGray, and not an array like in CalRGB. Thus PDCalGray
> cannot be extended from PDCalRGB. The bug didn't have an effect because the
> gamma wasn't used before PDFBOX-2553. Instead I will extend it from
> PDCIEBasedColorSpace or from a new abstract class PDCalBasedColorSpace.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)