簡體   English   中英

使用 Cocoa (macOS) 從 NSGradient 獲取 NSImage

[英]Get NSImage from NSGradient with Cocoa (macOS)

我正在尋找一個擴展來從NSGradient object 和 Swift 中的 Cocoa (macOS) 創建一個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()
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM