绘制一个多边形并用背景图像填充它

时间:2011-04-27 09:55:15

标签: iphone objective-c image polygon fill

我正在尝试绘制一个带有四个点(A,B)(C,D)(E,F)(G,H)的多边形,因此不一定是矩形。

然后我想将图案图像应用到多边形上。

我调查了initWithPatternImagecolorWithPatternImageUIBezierPathCGContextStrokeLineSegments,但无法弄清楚如何将它们放在一起。

有人对你如何把它们放在一起有任何想法吗?

注意:我没有使用Open GL

1 个答案:

答案 0 :(得分:4)

未经测试,但它应该像这样工作:

- (void)drawRect:(CGRect)rect
{
    UIColor *color = [UIColor colorWithPatternImage:myPatternImage];
    [color set];

    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:p1];
    [path addLineToPoint:p2];
    [path addLineToPoint:p3];
    [path addLineToPoint:p4];
    [path closePath]; // Implicitly does a line between p4 and p1
    [path fill]; // If you want it filled, or...
    [path stroke]; // ...if you want to draw the outline.
}

如果你想要描边,你可能想通过[path setLineWidth:5];或类似的东西来设置线宽,还可以查看控制线条外观的UIBezierPath的其他属性。