Question

Je veux faire quelque chose de similaire à Photoshops effet d'ombre intérieure dans le noyau graphique. Si je dessine / remplir un chemin avec cet effet, je veux obtenir quelque chose de semblable à ce qui suit: text alt

Était-ce utile?

La solution

Voici les couches dont vous avez besoin pour créer pour rendre cette image, d'arrière en avant:

La couleur de base, en l'occurrence un fond blanc.

L'ombre.

La forme projetant l'ombre. Ceci est fait en recherchant la zone de délimitation de la forme intérieure, l'expansion de cette boîte de plus que la largeur de l'ombre, en coupant ensuite un trou dans la boîte à la forme intérieure.

détourage ceux-ci avec la forme intérieure.

Puis enfin dessiner la forme colorée entourant, dans ce cas, un rectangle avec la forme intérieure découpée.

Remarque: En fonction de l'aspect attendu, la forme de coulée de l'ombre peut ou peut ne pas être la même forme remplissant la couleur de premier plan. Une section mince entre la forme intérieure et la forme extérieure se projette une ombre réduite. Si cet effet est pas souhaité, un serait nécessaire forme extérieure plus grande pour obtenir l'ombre intérieure cohérente. En outre, la coupure explicite de l'ombre est nécessaire dans le cas où l'ombre va au-delà de la forme extérieure.

Pour dessiner une forme avec un trou au milieu, comme cette forme d'exemple, vous voulez dessiner un chemin avec deux sous-chemins. Un sous-chemin serait la boîte extérieure, et l'autre serait la forme irrégulière intérieure. Si vous utilisez la règle de nombre non nul enroulement par défaut, vous devrez spécifier les points pour la boîte extérieure dans le sens opposé à la forme irrégulière intérieure. Par exemple, en spécifiant les points de boîte extérieure dans le sens horaire, il faudrait préciser les points de la forme intérieure pour le sens antihoraire. Reportez-vous à la section Guide de Quartz 2D programmeur sur les chemins pour plus de détails.

Autres conseils

Encart / ombre portée intérieure en quartz

Laissez tomber ce code dans la cour de Xcode et vous êtes sur votre chemin:

https://gist.github.com/eonist/520fa35958c123ad6840

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top