我正在尝试绘制一个带有四个点(A,B)(C,D)(E,F)(G,H)的多边形,因此不一定是矩形。
然后我想将图案图像应用到多边形上。
我调查了initWithPatternImage
,colorWithPatternImage
,UIBezierPath
,CGContextStrokeLineSegments
,但无法弄清楚如何将它们放在一起。
有人对你如何把它们放在一起有任何想法吗?
注意:我没有使用Open GL
答案 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的其他属性。