Iphone 绘制一个多边形并用背景图像填充它
我试图画一个有四个点(a,B)(C,D)(E,F)(G,H)的多边形,因此不一定是矩形 然后我想在多边形上应用图案图像 我研究了Iphone 绘制一个多边形并用背景图像填充它,iphone,objective-c,image,polygon,fill,Iphone,Objective C,Image,Polygon,Fill,我试图画一个有四个点(a,B)(C,D)(E,F)(G,H)的多边形,因此不一定是矩形 然后我想在多边形上应用图案图像 我研究了initWithPatternImage,colorWithPatternImage,UIBezierPath,CGContextStrokeLineSegments,但不知道如何把它们放在一起 有人知道怎么把它们放在一起吗 注意:我没有使用未测试的OpenGL,但它应该是这样工作的: - (void)drawRect:(CGRect)rect { UIColo
initWithPatternImage
,colorWithPatternImage
,UIBezierPath
,CGContextStrokeLineSegments
,但不知道如何把它们放在一起
有人知道怎么把它们放在一起吗
注意:我没有使用未测试的OpenGL,但它应该是这样工作的:
- (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]设置线宽代码>或类似的内容,并查看控制线条外观的其他属性。有用的答案(并且很有用lol)。但我有一个问题,就是“背景”是用全白色填充的,而不是像我需要的那样透明。给我买了一个班轮吗?我尝试了self.opaque=NO和self.layer.opaque=NO,还使用clearColor显式地绘制了整个矩形(将背景变成黑色而不是白色或透明)。谢谢你让我达到90%的目标@MichaelKernahan:它应该是self.opaque=NO;self.backgroundColor=[UIColor clearColor]代码>在您的视图设置中。哈!你完全正确,我是个白痴。我将UIView的子类添加到xib中,并将“透明”内容放在initWithFrame中—不会调用它。简单地在XIB和voila中更新。谢谢