当前位置: 代码迷 >> Iphone >> iphone开发作成不规则的形状
  详细解决方案

iphone开发作成不规则的形状

热度:98   发布时间:2016-04-25 06:20:05.0
iphone开发生成不规则的形状

?

生成一个不规则图形的方式,比如下面的效果:

需要将文字部分用多边形圈起来。这里做了一个多边形的图,然后填充为黑色,设置了alpha透明度,就产生了这样的效果。

代码如下:

1234567891011121314151617181920212223242526272829303132333435363738
- (void)loadView {    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide];    UIImage *image=[UIImage imageNamed:@"1.jpg"];?    UIImageView *backView=[[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];    backView.image=image;    backView.alpha=0.6;?    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();    CGContextRef context = CGBitmapContextCreate(nil,768,1024,8,0,                                                 colorSpace,kCGImageAlphaPremultipliedLast);    CFRelease(colorSpace);?    UIImageView *contentView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];    CGColorRef fillColor = [[UIColor blackColor] CGColor];    CGContextSetFillColor(context, CGColorGetComponents(fillColor));    CGContextBeginPath(context);    CGContextMoveToPoint(context, 160.0f, 230.0f);    CGContextAddLineToPoint(context, 600.0f, 230.0f);    CGContextAddLineToPoint(context, 600.0f, 100.0f);    CGContextAddLineToPoint(context, 370.0f, 50.0f);    CGContextAddLineToPoint(context, 200.0f, 100.0f);    CGContextClosePath(context);    CGContextFillPath(context);?    contentView.image=[[UIImage alloc] initWithCGImage:CGBitmapContextCreateImage(context)];    contentView.alpha=0.3;    CGContextRelease(context);?    self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];    [self.view addSubview:backView];    [self.view addSubview:contentView];??    [backView release];    [contentView release];    [image release];}


  相关解决方案