Получите NSImage от NSGradient с какао (macOS) - PullRequest
0 голосов
/ 10 ноября 2019

Я ищу расширение для создания NSImage из NSGradient объекта с Какао (macOS) в Swift.

1 Ответ

0 голосов
/ 10 ноября 2019

Вот как это сделать в Swift 5:

extension NSImage {
    convenience init?(gradientColors: [NSColor], imageSize: NSSize) {
        guard let gradient = NSGradient(colors: gradientColors) else { return nil }
        let rect = NSRect(origin: CGPoint.zero, size: imageSize)
        self.init(size: rect.size)
        let path = NSBezierPath(rect: rect)
        self.lockFocus()
        gradient.draw(in: path, angle: 0.0)
        self.unlockFocus()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...