Summary: | Cairo 1.14.4: wrong rasterization for concave shapes with cairo_mesh_pattern | ||
---|---|---|---|
Product: | cairo | Reporter: | s.brodacka |
Component: | general | Assignee: | Chris Wilson <chris> |
Status: | RESOLVED NOTABUG | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | minimal example |
That is the correct rendering when the patch folds over. Confirmed by changing the surface to a PDF surface and checking the rendering of the generated PDF with both Ghostscript and Adobe Reader. See figure 29, p195 of the PDF standard: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf (In reply to Adrian Johnson from comment #1) > That is the correct rendering when the patch folds over. Confirmed by > changing the surface to a PDF surface and checking the rendering of the > generated PDF with both Ghostscript and Adobe Reader. > > See figure 29, p195 of the PDF standard: > > http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008. > pdf Thank you for your answear. So is there a possibility to draw the exact shape using cairo_mesh_pattern? If it is just one patch you could set a clip path around the patch. The better solution would be to subdivide the patch to eliminate beziers that change direction. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 123402 [details] minimal example Cairo sometimes cuts the concavity of shape if the cairo_mesh_pattern is used for rasterization. It looks like extra point is created on the shape to close the pattern and additional shape is rasterized to fill it. If the standard drawing method is used the shape is fine. Minimal example of cairo_mesh_pattern (red) rasterization summarized with standard rasterization (black) showing the difference in rasterized shape is attached.