objective-c - 如何在运行时以编程方式创建多分辨率(视网膜就绪)NSImage?

标签 objective-c macos cocoa retina-display

我的应用程序捆绑资源中有两个按钮图像,例如“myButton.png”和“myButton@2x.png”。在运行时,我使用 [NSImage imageNamed:@"myButton"] 加载图像,并需要将其分成三个切片并创建三个 NSImage 以在 NSDrawThreePartImage() 函数中使用。

问题是每个 NSImage 切片都需要多分辨率,以便系统可以动态选择正确的分辨率,就像它会自动处理原始整个图像一样。

如何以编程方式创建自动多分辨率 NSImage?谢谢!

最佳答案

我认为适当的解决方案是将图像部分存储在不同的图像中,并且不要尝试编写将一个图像分成三个部分的解决方法。这样您就可以直接以最有效的方式使用NSDrawThreePartImage()

关于objective-c - 如何在运行时以编程方式创建多分辨率(视网膜就绪)NSImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11629327/

相关文章:

objective-c - 可以确定在运行时导入的类/可以忽略导入错误吗?

cocoa - 将窗口放置在同一点具有不同分辨率的两个显示器上

ios - 使用 MMDrawerConroller 如何禁用旋转是一些 ViewControllers?

objective-c - 为什么 UIProgressview 进度条不能调整大小?

macos - Flutter Desktop MACOS 有没有人有平台 channel 的例子?

mysql - 从自动启动中删除 mysql

ios - 在 NSUserDefaults 中保存图像?

objective-c - Phonegap 全屏 iPad 应用程序

对于同一网络路径,Python os.path.exists 在 Windows 10 上返回 false,在 Windows 7 上返回 true

cocoa - 将 NSProgressIndicator 添加到停靠栏图标