2010-05-10 111 views
1

我畫使用這些代碼段畫出三角形區域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; 
    } 

} 

現在的三角形已經在我的uiview.I繪製的三角形有一個圖像大小應爲(420 * 300)。我想在三角形區域加載此圖像。 (不在這個三角形區域之外)。

任何人都可以幫助我嗎?

在此先感謝.....

+0

爲什麼你需要的循環?爲什麼不直接排列線路呼叫? – philsquared 2010-05-10 14:28:57

+0

你確定。我改變了那個代碼。 – dragon 2010-05-10 14:32:55

+0

你能告訴我,我怎麼能在三角區域加載圖像? – dragon 2010-05-10 14:35:20

回答

3

添加進線情境呼叫CGContextClip然後繪製圖像(CGContextDrawImage)之後。您的圖片將被路徑剪輯。如果你喜歡,你可以使用相同的路徑繪製三角形。

你可能會發現,你的形象是顛倒的,所以你可能需要申請繪製之前的變換 - 是這樣的:

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