结构层次:UIView->UIImageView->UIImage,即把带有图片的imageview添加到UIView上,现在要在图片上 切一个透明的圆
迷茫2017-04-18 09:05:31
Refer to the following code:
- (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
PHP中文网2017-04-18 09:05:31
Use the PS Pen Tool to outline it, or use the Magic Selection Tool to select and delete the white part.
伊谢尔伦2017-04-18 09:05:31
If it’s a web page: The border-radius attribute of CSS can give you some inspiration.
<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>