I’m trying to draw
inner strokes on text in Skia, and I’ve run into some weird outline artifacts when using Xor blend mode.
The idea is that the stroke could be a gradient shader or an image, so I’m using SkPaint to be able to use shaders. I’ve tried two approaches:
Approach 1: SrcIn Stroke Over Fill
- Fill the text first
- Draw the stroke using SrcIn
Works fine unless the fill is semi-transparent, so the alpha also blends, which is expected but not what I want, since I need to support fill transparency.
Approach 2: Multi-Paint Composition
This uses four paints to preserve fill opacity and keep the stroke. It works visually except for a thin artifact along the outline where paints blend. I think this might be a bug.

Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, y pudiendo contener información confidencial sometida a secreto profesional, o cuya divulgación esté legalmente prohibida. Cualquier opinión en él contenida es exclusiva de su autor y no representa necesariamente la opinión de la empresa. Si ha recibido este mensaje por error, le rogamos nos lo comunique de forma inmediata por esta misma vía y proceda a su eliminación, así como a la de cualquier documento adjunto al mismo. El correo electrónico vía Internet no es seguro y no se puede garantizar que no haya errores ya que puede ser interceptado, modificado, perdido o destruido, o contener virus. Cualquier persona que se ponga en contacto con nosotros por correo electrónico se considerará que asume estos riesgos.
KALEIDOS INC SUCURSAL EN ESPAÑA (ESW0249639F) se reserva las acciones legales que le correspondan contra todo tercero que acceda de forma ilegítima al contenido de cualquier mensaje externo procedente del mismo.
INFORMACIÓN PROTECCIÓN DE DATOS. Responsable: KALEIDOS INC SUCURSAL EN ESPAÑA (ESW0249639F)
Le informamos que sus datos identificativos y los contenidos en los correos electrónicos y ficheros adjuntos pueden ser incorporados a nuestras bases de datos con la finalidad de mantener relaciones profesionales y/o comerciales y, que serán conservados mientras se mantenga la relación. Si lo desea, puede ejercer su derecho a acceder, rectificar y suprimir sus datos y demás reconocidos normativamente dirigiéndose al correo emisor o en los datos del responsable. Para información y consultas visite nuestra web https://kaleidos.net