NSImage加载图像的一部分

时间:2011-01-11 06:12:48

标签: objective-c cocoa xcode nsimage

要求是这样的, 我会为一个按钮获得一个大的PNG图像,这个单个图像将包含hOver,按钮单击,需要显示的鼠标退出的图像, 单个PNG文件大小为1024 X 28,因此每个图像的大小约为256 X 28, 我正在谷歌搜索最好的方法,但无法弄清楚如何实现这一目标,

我有以下方法,

NSImage *pBtnImage[MAX_BUTTON_IMAGES]
for ( i = 0; i < 4 ; i++) {
pBtnImage[i] = [[NSImage alloc]initWithData:??????]; 
} 

我想知道我应该在NSData参数中给出什么,

是否可以在需要时相应地加载单个图像和剪切图像。

提前致谢

1 个答案:

答案 0 :(得分:0)

没有简单的Cocoa支持方法只从其数据中读取图像的子矩形。但是,读取整个图像并在合成时仅使用图像的选择矩形是一件简单的事情。事实上,使用所有可用的API,您可能最好只使用标准+ [NSImage imageNamed:]方法单独读取图像并让操作系统处理缓存。

您想要解决的实际的,衡量的性能问题是什么?是否真的存在,或者这是一个过早优化的情况?