Рисование UIImage на CGContext не отображается - PullRequest
1 голос
/ 19 марта 2020

У меня есть собственный NSLayoutManager, и я хочу нарисовать размытый прямоугольник над словом. Я пытаюсь просто нарисовать красный прямоугольник прямо сейчас, и он ничего не рисует. Мне нужно сделать это на изображении, потому что на изображении вы можете применить gaussianblur. Изображение не ноль, так что это не проблема.

Код чертежа

    guard let context = UIGraphicsGetCurrentContext() else {
        return
    }

    UIGraphicsBeginImageContext(blurRect.size);
    let renderer = UIGraphicsImageRenderer(size: blurRect.size)
    let image = renderer.image { ctx in
        ctx.cgContext.setFillColor(UIColor.red.cgColor)
        ctx.cgContext.setStrokeColor(UIColor.black.cgColor)
        ctx.cgContext.setLineWidth(10)
        ctx.cgContext.addRect(blurRect)
        ctx.cgContext.drawPath(using: .fillStroke)
    }
    UIGraphicsEndImageContext()

    image.draw(in: blurRect)
    context.draw(image.cgImage!, in: blurRect)

Я называю этот код в этом методе:

override func drawGlyphs(forGlyphRange glyphsToShow: NSRange, at origin: CGPoint) {
...