Remplir une forme avec un dégradé dans CGContext
-
06-07-2019 - |
Question
Je souhaite remplir une forme de polygone que j'ai dessinée via Core Graphics avec un CGGradient linéaire. La fonction CGContextDrawLinearGradient dessine un dégradé d'un point à un autre, mais remplit la totalité de la vue. Comment puis-je afficher le dégradé uniquement à l'intérieur de la forme de polygone que j'ai dessinée?
La solution
Vous pouvez construire un CGMutablePath dans la forme de votre choix, puis l'utiliser pour clipser la région que vous souhaitez afficher, par exemple ...
// Construct yourClipPath
CGContextAddPath(yourContext, yourClipPath);
CGContextClosePath(yourContext);
CGContextClip(yourContext);
// Draw Your Gradient
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow