结构层次:UIView->UIImageView->UIImage,即把带有图片的imageview添加到UIView上,现在要在图片上 切一个透明的圆
学习是最好的投资!
参考以下代码:
- (void)addShadowView { self.hollowFrames = @[[NSValue valueWithCGPoint:CGPointMake(20.0, 20.0)], [NSValue valueWithCGPoint:CGPointMake(120.0, 20.0)]]; int radius = 15.0; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height) cornerRadius:0]; for (NSValue *point in self.hollowFrames) { UIBezierPath *circlePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(point.CGPointValue.x, point.CGPointValue.y, 2.0*radius, 2.0*radius) cornerRadius:radius]; [path appendPath:circlePath]; } [path setUsesEvenOddFillRule:YES]; CAShapeLayer *fillLayer = [CAShapeLayer layer]; fillLayer.path = path.CGPath; fillLayer.fillRule = kCAFillRuleEvenOdd; fillLayer.fillColor = [UIColor blackColor].CGColor; fillLayer.opacity = 0.5; [self.layer addSublayer:fillLayer]; }
refs: http://stackoverflow.com/a/18925731/4733603
用PS钢笔工具勾出来,或者用魔术选取工具把白色部分选中并删除。
如果是网页的话:css的border-radius属性,能给你一点启发。
<html> <head> <style> .box{ width:50px; height:50px; border-radius:50%; overflow:hidden; } </style> </head> <body> <p class="box"> <img src="./images/1.jpg" /> </p> </body> </html>
参考以下代码:
refs: http://stackoverflow.com/a/18925731/4733603
用PS钢笔工具勾出来,或者用魔术选取工具把白色部分选中并删除。
如果是网页的话:css的border-radius属性,能给你一点启发。