gpt4 book ai didi

macos - 设置模板图像的图像颜色

转载 作者:行者123 更新时间:2023-12-03 16:06:51 29 4
gpt4 key购买 nike

我有一张这样的图片: enter image description here

(渲染为模板图像)

我尝试了这段代码:

@IBOutlet weak var imgAdd: NSImageView!
imgAdd.layer?.backgroundColor = CGColor.white

这当然只会改变背景颜色。

有没有办法以编程方式更改该图像的颜色?

<小时/>

到目前为止,我已经尝试了下面的代码,但它不起作用。 (图像颜色不会改变。)

func tintedImage(_ image: NSImage, tint: NSColor) -> NSImage {
guard let tinted = image.copy() as? NSImage else { return image }
tinted.lockFocus()
tint.set()

let imageRect = NSRect(origin: NSZeroPoint, size: image.size)
NSRectFillUsingOperation(imageRect, .sourceAtop)

tinted.unlockFocus()
return tinted
}

imgDok.image = tintedImage(NSImage(named: "myImage")!, tint: NSColor.red)

最佳答案

swift 4

更新了 Swift 4 的答案

请注意,此 NSImage 扩展基于 @Ghost108@Taehyung_Cho 的答案,因此更大的功劳归于他们。

extension NSImage {
func tint(color: NSColor) -> NSImage {
let image = self.copy() as! NSImage
image.lockFocus()

color.set()

let imageRect = NSRect(origin: NSZeroPoint, size: image.size)
imageRect.fill(using: .sourceAtop)

image.unlockFocus()

return image
}
}

关于macos - 设置模板图像的图像颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45028530/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com