[Rd] Question about grid.group compositing operators in cairo
Panagiotis Skintzos
@|gm@p| @end|ng |rom po@teo@net
Sun Sep 25 23:27:38 CEST 2022
Hello,
I'm trying to update ggiraph package in graphic engine v15 (currently we
support up to v14).
I've implemented the group operators and when I compare the outputs of
ggiraph::dsvg with the outputs of svg/png, I noticed some weird results.
Specifically, some operators in cairo (in, out, dest.in, dest.atop) give
strange output, when any source element in the group has a stroke color
defined.
I attach three example images, where two stroked rectangles are used as
source (right) and destination (left).
cairo.over.png shows the result of the over operator in cairo
cairo.in.png shows the result of the in operator in cairo
dsvg.in.png shows the result of the in operator in dsvg
You can see the difference between cairo.in.png and dsvg.in.png. I found
out why I get different results:
In dsvg implementation there is one drawing operation: Draw the source
element, as whole (fill and stroke) over the destination element (using
feComposite filter)
In cairo implementation though there are two operations: Apply the fill
on source and draw over the destination and then apply the stroke and
draw over the result of the previous operation.
I'm not sure if this is intentional or not. Shouldn't the source element
being drawn first as whole (fill and stroke with over operator) and then
apply the group operator and draw it over the destination? It would seem
more logical that way.
Thanks,
Panagiotis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cairo.over.png
Type: image/png
Size: 4485 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20220925/6fb655c2/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cairo.in.png
Type: image/png
Size: 8773 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20220925/6fb655c2/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsvg.in.png
Type: image/png
Size: 9638 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20220925/6fb655c2/attachment-0002.png>
More information about the R-devel
mailing list