[
https://issues.apache.org/jira/browse/PDFBOX-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14039959#comment-14039959
]
Petr Slaby edited comment on PDFBOX-2141 at 6/21/14 9:46 PM:
-------------------------------------------------------------
My observation was that the coordinates arriving to the AxialShadingContext in
getRaster() were not what the shading expects. Not applying the transform to
the graphics fixed it.
The problem will be that, regardless of whether the transform is applied to the
graphics or to the glyphs, the coordinates arriving to getRaster() are always
the same. However, the transform applied to the cords field in the constructor
of AxialShadingContext is the one that was set to the graphics, i.e. it is a
different one if the graphics was transformed.
So yes, I agree.
was (Author: pslabycz):
My observation was that the coordinates arriving to the AxialShadingContext in
getRaster() were not what the shading expects. Not applying the transform to
the graphics fixed it.
The problem will be that, regardless of whether the transform is applied to the
graphics or to the glyphs, the coordinates arriving to getRaster() are always
the same. However, the transform applied to the cords field in the constructor
of AxialShadingContext is the one that was set to the graphics, i.e. it is a
different one if the graphics was transformed.
> Shading not applied to text
> ---------------------------
>
> Key: PDFBOX-2141
> URL: https://issues.apache.org/jira/browse/PDFBOX-2141
> Project: PDFBox
> Issue Type: Bug
> Components: Rendering
> Affects Versions: 1.8.5, 1.8.6, 2.0.0
> Reporter: Petr Slaby
> Priority: Minor
> Attachments: 000004_ShadingPatternTextPDF.pdf, PDFBOX-1917.pdf-1.png,
> PDFBOX-1917.pdf-1.png-diff.png, PDFBOX-1917.pdf-9.png,
> PDFBOX-1917.pdf-9.png-diff.png, PDFBOX-2135.pdf-2.png,
> PDFBOX-2135.pdf-2.png-diff.png, PageDrawer.writeFont.java.patch
>
>
> The attached PDF draws a text filled with horizontal shading going from red
> to blue. When rendered via PDFBox, the text is completely filled with red.
> The problem is that AxialShadingContext#getRaster() gets called with
> positions that completely fell outside of the range stored in its coords[]
> field. The fix seems to be to set glyph transform rather than graphics2d
> transform in PageDrawer#writeText() as shown in the attached patch.
--
This message was sent by Atlassian JIRA
(v6.2#6252)