gpt4 book ai didi

swift - 渲染不同尺寸的相同图像

转载 作者:IT王子 更新时间:2023-10-29 05:43:11 26 4
gpt4 key购买 nike

我的 Assets 中有一堆图片。我想做的是在 OSX 的状态栏中渲染图像,如下所示:

let icon = NSImage(named: "statusIcon")
icon?.size = NSSize.init(width: 18, height: 18)

icon?.template = true
statusItem.image = icon
statusItem.menu = statusMenu

并且还在我打开的 View 之一中使用它:

self.dayIcon.image = NSImage(named: "statusIcon")

问题是一旦我设置了状态栏图像, View 中的图像也发生了变化,即颜色和大小都发生了变化(变为 18x18)

我试过用

icon?.cacheMode = NSImageCacheMode.Never

但是没有效果。

这是应该的吗?我不能使用相同的图像并在不同的地方以不同的方式渲染它吗?它们都是不同的 NSImage 实例。

最佳答案

They are both different NSImage instance.

它们不是,这确实是您的问题。

+[NSImage imageNamed:] 可能返回图像的现有缓存实例。

如果您想更改图像的大小而不影响可能持有引用的任何其他人,请复制它。 NSImage 的副本是轻量级的 - 它不会复制保存渲染(位图,在 PNG 情况下)数据的底层图像表示。

关于swift - 渲染不同尺寸的相同图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34781206/

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