2010-05-10 71 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);