如何在运行时以编程方式创建多分辨率(Retina-ready)NSImage?

时间:2012-07-24 10:53:10

标签: objective-c macos cocoa retina-display

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

问题在于每个切片NSImage需要是多分辨率的,因此系统可以动态选择正确的分辨率,就像它自动对原始整个图像一样。

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

1 个答案:

答案 0 :(得分:1)

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