NSCursor出现在黑白两色

时间:2015-07-21 07:30:45

标签: objective-c cocoa grayscale nsimage

我尝试使用以下代码显示光标:

// imageData is the raw data pointer from the file (uint8_t* vector)
NSData* o_imageData = [ NSData dataWithBytes:imageData.begin() length:imageData.size() ];
NSImage* o_image = [[NSImage alloc] initWithData: o_imageData];

// Hotspot is extracted earlier on
cursor_ = [[NSCursor alloc] initWithImage:o_image hotSpot:o_hotspot]; 

现在,当我将此光标设置为当前光标时,它会以灰度显示光标。它是一种东西,但我更喜欢它的颜色(原始图像)。光标图像在.cur文件中编码(Win32标准光标格式,非常类似于.ico格式)。在Win32上,光标正确显示并且颜色正确,当我从文件加载光标时它也可以正常工作,但是使用原始数据初始化图像似乎初始化错误。 这可能与图像表示有关吗?如果是这样,我将如何解决这个问题?

0 个答案:

没有答案