Bonjour Roland
FMX est un peu (beaucoup) spécial je suis bien conscient qu'utiliser des techniques "autres" assure le dessin, tu en fais la preuve.
Tout comme la solution proposée par RiverSoft en VCL mais en FMX il y a des limitations
Gradient Fills are limited on Mobile (limitation of FMX)
No Clipping support in FMX
ici, une démo flagrante en ce qui concerne les étoiles
et ici le clipping
vous remarquerez qu'en VCL les petites croix du drapeau de la Géorgie ont un problème (crénelage) en FMX elles sont trop grosses et le découpage n'est pas bon mais on était prévénu que cela ne fonctionnerait pas
pour en finir avec les bogues constatés (et même si on est proche du Brexit )
ici le programme FMX fourni une meilleure version de l'image quoique pas exacte.
Il n'empêche que pour moi, cette solution reste la plus aboutie.
Ce qui répond en partie aux assertions d'Alweber et Anapurna sur le nombre de segments
Le remplissage n'est pas traité de la même manière en VCL (fill-rule:nonzero) qu'en FMX (fill-rule:evenodd). Or par défaut dans la norme c'est nonzero qui est appliqué.
pour info le drapeau de l'Europe s'affiche correctement même en FMX, toutefois ce n'est pas en utilisant 10 segments mais grâce à quelques transformations d'un triangle
<defs><g id="s"><g id="c"><path id="t" d="M0,0v1h0.5z" transform="translate(0,-1)rotate(18)"/><use xlink:href="#t" transform="scale(-1,1)"/></g><g id="a"><use xlink:href="#c" transform="rotate(72)"/><use xlink:href="#c" transform="rotate(144)"/></g><use xlink:href="#a" transform="scale(-1,1)"/></g></defs>
Mes fouilles ne m'ont toujours pas permis de trouver la différence entre les deux remplissages de Canvas
Note : Oui, je sais, je vais les chercher loin mes exemples jusqu'en Eswatini (Swaziland) ou dans les pays se terminant en stan (Kazakhstan, Kirghizstan ...) la plupart fonctionnent facilement ceux que je pointe du doigt font partie des 20% de la loi des 20/80
Partager