使用Cocoa(macOS)从NSGradient获取NSImage

我正在寻找扩展,以在Swift中使用Cocoa(macOS)从NSImage对象创建NSGradient

liangshiming1980 回答:使用Cocoa(macOS)从NSGradient获取NSImage

这是在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()
    }
}
本文链接:https://www.f2er.com/3129345.html

大家都在问