Я хочу составную форму вида из Овальной формы, вычитаем форму Rect,
, поэтому сначала я создаю изображение маски:
let paths = CGMutablePath()
//Oval shape path at left
let leftPath = CGPath(ellipseIn: CGRect(x: 0, y: 0, width: 200, height: 150), transform: nil)
//Rect shape path at right
let rightPath = CGPath(roundedRect: CGRect(x: 100, y: 100, width: 120, height: 100), cornerWidth: 8, cornerHeight: 8, transform: nil)
paths.addPath(leftPath)
paths.addPath(rightPath)
UIGraphicsBeginImageContext(CGSize(width: 220, height: 200))
let ctx = UIGraphicsGetCurrentContext()
ctx?.addPath(paths)
ctx?.clip(using: .evenOdd)
ctx?.addPath(leftPath.cgPath)
ctx?.clip(using: .evenOdd)
ctx?.setFillColor(UIColor.red.cgColor)
ctx?.fill(CGRect(x: 0, y: 0, width: 220, height: 200))
//the mask image
let maskImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
далее Я использую это изображение для маски:
let maskView = UIImageView(image: maskImage)
maskView.contentMode = .center
imageView.mask = maskView
запустить приложение, я получаю это:
![enter image description here](https://i.stack.imgur.com/RYj72.png)
выглядит хорошо? Не очень ...
если вы посмотритеосторожно, вы заметите тонкую линию в правом нижнем углу
Это не нормально для меня!
Как стереть боковую линию ???Спасибо:)