Dans mon application iPhone, je dois laisser l'utilisateur à clip UIImage
fourni par l'utilisateur CGPath
donné dynamiquement. Tout ce qui est à l'extérieur donné (fermé) CGPath
devrait être découpé, et l'image résultante devrait être découpée par le rectangle de délimitation du chemin.iPhone: Clip UIImage fourni par l'utilisateur par un CGPath
L'image doit être coupée avec une bordure douce. C'est-à-dire, il devrait y avoir un léger gradient dans le canal alpha sur le bord du chemin de détourage, des pixels transparents aux pixels opaques.
Existe-t-il une solution disponible pour obtenir l'effet décrit?
Le problème principal est comment obtenir ce dégradé doux. J'ai pensé à rasteriser mon CGPath
au masque et le rendre flou après qu'il ait été pixellisé, mais je n'ai rien trouvé concernant le flou dans l'API iPhone & hellip; En ce qui concerne l'écrêtage, j'ai prévu d'utiliser les données CGPathGetBoundingBox
, mais la relecture de la documentation m'indique que la boîte englobante résultante inclurait des points de contrôle pour les courbes de Bézier et quadratiques, ce qui n'est pas acceptable pour moi. Eh bien, le bon vieux balayage de l'image pour les pixels alpha non-zéro devrait faire le travail à la place.
Si vous avez besoin d'un gradient doux, vous aurez besoin d'un masque d'image aussi. Le chemin donné est-il fixé ou généré dynamiquement? – hatfinch
Le chemin donné est généré dynamiquement. J'ai mis à jour la réponse. –
Er, je veux dire, mis à jour la question bien sûr :-) –