Круговая маскировка для обрезки изображений в ios
Я пытаюсь задать круговую маску для просмотра изображения, и мне нужно обрезать часть изображения в круглой области, что работает нормально. Но я столкнулся с некоторой проблемой с маской, которая аннотирована на прикрепленном изображении.
Ниже приведены фрагменты кода, которые я использовал для маскировки.
Добавление маски к слою просмотра изображений
CAShapeLayer *maskLayer = [CAShapeLayer layer];
self.imageView.layer.mask = maskLayer;
self.maskLayer = maskLayer;
создайте слой формы для круга, который мы нарисуем поверх изображения (граница круга)
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.lineWidth = 3.0;
circleLayer.fillColor = [[UIColor clearColor] CGColor];
circleLayer.strokeColor = [[UIColor blackColor] CGColor];
[self.imageView.layer addSublayer:circleLayer];
self.circleLayer = circleLayer;
создать круговой путь
[self updateCirclePathAtLocation:CGPointMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0) radius:self.view.bounds.size.width * 0.30];
- (void)updateCirclePathAtLocation:(CGPoint)location radius:(CGFloat)radius
{
self.circleCenter = location;
self.circleRadius = radius;
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:self.circleCenter
radius:self.circleRadius
startAngle:0.0
endAngle:M_PI * 2.0
clockwise:YES];
/*
[[UIColor colorWithWhite:0 alpha:0.1] setFill];
[path fill];
*/
self.maskLayer.path = [path CGPath];
self.circleLayer.path = [path CGPath];
}
Кто-нибудь может дать предложение сделать белую область вокруг круглой маски частично видимой или применить прозрачный CGColor, используя альфа?