2010-05-10 7 views
1

Je dessiner un triangle en utilisant ces morceau de codeDessine l'image dans la région triangle iphone

CGPoint center; 

center = CGPointMake(x1, x2); 
CGContextMoveToPoint(context, center.x, center.y); 
for(int i = 0; i < 3; i++) 
{ 
    switch (i) { 
     case 0: 
      CGContextAddLineToPoint(context, y1, y2); 
      break; 
     case 1: 
      CGContextAddLineToPoint(context, z1, z2); 
      break; 
     case 2: 
      CGContextAddLineToPoint(context, x1, x2); 
      break; 
     default: 
      break; 
    } 

} 

Maintenant, le triangle a attiré dans mes uiview.I ont une taille d'image devrait être (420 * 300) .Je veux charger cette image dans la région du triangle. (Pas hors de cette région de triangle).

Quelqu'un peut-il m'aider?

Merci à l'avance .....

+0

pourquoi avez-vous besoin de la boucle? Pourquoi ne pas séquencer les appels Line directement? – philsquared

+0

oui. Je change ce code. – dragon

+0

Pouvez-vous me dire, Comment pourrais-je charger l'image dans la région du triangle? – dragon

Répondre

3

Après avoir ajouté les lignes dans l'appel de contexte CGContextClip puis dessinez votre image (CGContextDrawImage). Votre image sera coupée par le chemin. Vous pouvez ensuite utiliser le même chemin pour dessiner le triangle en tant que lignes, si vous le souhaitez.

Vous constaterez probablement que votre image est à l'envers, de sorte que vous devrez peut-être appliquer une transformation avant de le dessiner - quelque chose comme:

CGContextTranslateCTM(context, 0, image.size.height);