Я пытаюсь нарисовать прямоугольники (массив CGRects) на изображении UIImage, которое будет возвращено конечному пользователю.Конечный результат, из-за отсутствия лучшей фразы, выглядит странно.Например, если у меня есть массив из 2 CGRect, рисуется только один, только, но не полностью завершенный.Другой опущен.Пожалуйста, смотрите изображение ниже, чтобы узнать, как получается изображение с конкретным массивом CGRect.(К вашему сведению: я отправляю изображение в Google Cloud для обработки, который отвечает массивом CGRects)
Что мне не хватает?
private func drawOccurrencesOnImage(_ occurrences: [CGRect], _ image: UIImage) -> UIImage? {
let imageSize = image.size
let scale: CGFloat = 0.0
UIGraphicsBeginImageContextWithOptions(imageSize, false, scale)
image.draw(at: CGPoint.zero)
let ctx = UIGraphicsGetCurrentContext()
ctx?.addRects(occurrences)
ctx?.setStrokeColor(UIColor.red.cgColor)
ctx?.setLineWidth(2.0)
ctx?.strokePath()
guard let drawnImage = UIGraphicsGetImageFromCurrentImageContext() else {
presentAlert(alertTitle: "Error", alertText: "There was an issue, please try again")
return nil
}
UIGraphicsEndImageContext()
return drawnImage
}
Массив CGRect ("вхождения" из функциивыше) со значением «[(298.0, 868.0, 65.0, 43.0), (464.0, 1017.0, 67.0, 36.0)]» приводит к изображению ниже:
Дополнительные сведения: с помощью Swift 4,iOS 12
Спасибо!