2009-12-17 7 views
2

Comment dessiner un NSImage dans une vue de manière à ce qu'il soit carrelé sur une seule ligne (aucune image incomplète n'est dessinée et en supposant que la hauteur de l'image est égale à la hauteur de la vue)?Dessiner des carreaux NSImage

Répondre

5

Si l'image avait la même taille que la vue, vous n'auriez pas besoin de mosaïque, donc je ne comprends pas très bien.

Cependant, jetez un oeil à NSDrawThreePartImage. Sur 10.6 vous pouvez passer nul pour les bouchons si tout ce que vous voulez est une seule image carrelée soit horizontalement ou verticalement.

L'autre option est d'utiliser quelque chose le long des lignes de

[[NSColor colorWithPatternImage:] set]; 
NSRectFill(rectToBeTiled); 

mais la phase et l'échelle peuvent ne pas être ce que vous voulez si vous le faites de cette façon. Les couleurs dessinent ce que CG appelle «l'espace de base», ce qui ressemble à un dessin dans le système de coordonnées de la vue de contenu de la fenêtre. Donc, fondamentalement, utilisez NSDrawThreePartImage si vous le pouvez.