[
https://issues.apache.org/jira/browse/PDFBOX-2570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14247174#comment-14247174
]
John Hewson commented on PDFBOX-2570:
-------------------------------------
If you have a single-valued gray gamma _x_ then it is equivalent to the RGB
gamma (r=x, g=x, b=x). All that is needed is to override getGamma() in CalGray
so that parses a single float.
> 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)