如何将文本绘制到 NSImage 中?
How do I draw text into an NSImage?
如何使用 Swift 和 AppKit 框架将文本绘制到 NSImage
中?我的目标是 macOS 应用程序。
如果有任何解释此类内容的资源,我也将不胜感激。我在 Apple 开发人员文档中找不到示例或解释。
以下代码包含说明我想要做什么的注释。它在菜单栏项中显示 NSImage
。
import Cocoa
class ViewController: NSViewController {
let statusItem: NSStatusItem = NSStatusBar.system.statusItem(
withLength: NSStatusItem.squareLength)
override func viewDidLoad() {
super.viewDidLoad()
let imageSize = NSSize.init(width: 18.0, height: 18.0)
let statusItemImage = NSImage(
size: imageSize,
flipped: false,
drawingHandler: { (dstRect: NSRect) -> Bool in
// How do I draw text into this NSImage?
return true
})
statusItem.button?.image = statusItemImage
}
override var representedObject: Any? {
didSet {
}
}
}
这个在评论起作用的地方:
let foo: NSString = "a"
foo.draw(in: dstRect)
如何使用 Swift 和 AppKit 框架将文本绘制到 NSImage
中?我的目标是 macOS 应用程序。
如果有任何解释此类内容的资源,我也将不胜感激。我在 Apple 开发人员文档中找不到示例或解释。
以下代码包含说明我想要做什么的注释。它在菜单栏项中显示 NSImage
。
import Cocoa
class ViewController: NSViewController {
let statusItem: NSStatusItem = NSStatusBar.system.statusItem(
withLength: NSStatusItem.squareLength)
override func viewDidLoad() {
super.viewDidLoad()
let imageSize = NSSize.init(width: 18.0, height: 18.0)
let statusItemImage = NSImage(
size: imageSize,
flipped: false,
drawingHandler: { (dstRect: NSRect) -> Bool in
// How do I draw text into this NSImage?
return true
})
statusItem.button?.image = statusItemImage
}
override var representedObject: Any? {
didSet {
}
}
}
这个在评论起作用的地方:
let foo: NSString = "a"
foo.draw(in: dstRect)