[
https://issues.apache.org/jira/browse/PDFBOX-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031580#comment-14031580
]
Tilman Hausherr commented on PDFBOX-2141:
-----------------------------------------
The code of Petr worked too; and so does this code, based on the last
suggestion of Andreas:
{code}
AffineTransform atRS = new AffineTransform(at.getScaleX(),
at.getShearY(),
-at.getShearX(), -at.getScaleY(), 0, 0);
for (int i = 0; i < glyphs.getNumGlyphs(); i++)
{
glyphs.setGlyphTransform(i, atRS);
}
graphics.drawGlyphVector(glyphs, (float) at.getTranslateX(), (float)
at.getTranslateY());
{code}
(Yes the "-" is correct. Either that or an extra scale(1,-1) call)
> 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: 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)