<html><head></head><body><div class="ydp833c3df0yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div id="ydp833c3df0yiv2444967086"><div><div class="ydp833c3df0yiv2444967086ydpfd010aa7yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div><div dir="ltr">I've been poking at the cairo source code to see if it's possible, but haven't worked it out yet.</div><div dir="ltr"><br></div><div dir="ltr" data-setdir="false">To test how various apps render something like this, I created this SVG:</div><div dir="ltr" data-setdir="false"><a href="https://www.svgshare.com/s/VPP" rel="nofollow" target="_blank">https://www.svgshare.com/s/VPP</a></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">It's a rectangle with a stroke with alpha.</div><div dir="ltr" data-setdir="false">For everything I tried on Linux, the stroke has two colours, because half of it is over where the fill draws to, and that shows through.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I think there's a fair chance everything I tried (Firefox, Chrome (Linux), Edge (Linux)), may have actually used cairo.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">This is probably out of cairos scope, but:<br></div><div dir="ltr" data-setdir="false">I can't imagine a use-case where someone creating an svg with both fill and stroke is set would expect a 3rd colour to be generated where part of the stroke overlays the fill (it makes sense in cairo, but shouldn't in SVG).</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Anyway, I guess I should file bugs upstream for this.<br></div><div dir="ltr"><br clear="none"></div><div><br clear="none"></div><div class="ydp833c3df0yiv2444967086ydpfd010aa7signature">S++</div></div>
        <div><br clear="none"></div><div><br clear="none"></div>
        
        </div></div></div></div><div class="yiv2444967086yqt1763706251" id="yiv2444967086yqt25697"><div class="yiv2444967086yahoo_quoted" id="yiv2444967086yahoo_quoted_7027472929">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Wednesday, March 24, 2021, 1:22:25 AM GMT, Stuart Axon <stuaxo2@yahoo.com> wrote:
                </div>
                <div><br clear="none"></div>
                <div><br clear="none"></div>
                <div><div id="yiv2444967086"><div><div class="yiv2444967086yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div>I've been trying to generate an SVG using SVGSurface with a fill and an alpha stroke, <br clear="none"></div><div dir="ltr">with OPERATOR_SOURCE to ensure the stroke draws over the fill, but this seems</div><div dir="ltr">to generate <image> tags in the SVG.</div><div dir="ltr"><br clear="none"></div><div dir="ltr">Toy example and output + XML:<br clear="none"></div><div dir="ltr"><a rel="nofollow noopener noreferrer" shape="rect" target="_blank" href="https://gist.github.com/stuaxo/b525a47d33f5f3074b1be7c693f6b6e6">https://gist.github.com/stuaxo/b525a47d33f5f3074b1be7c693f6b6e6</a></div><div dir="ltr"><br clear="none"></div><div dir="ltr">Is there any way to render fill + stroke (with alpha) and only output vector data ?</div><div dir="ltr">This seems like a common operation, but whatever I try outputs SVGs full of <image>s.<br clear="none"></div><div dir="ltr"><br clear="none"></div><div dir="ltr">For Shoebot, this has meant our SVGs become very very large, enough to eat all your ram if you try and open them in Inkscape.<br clear="none"></div></div></div></div></div>
            </div>
        </div></div></body></html>