如何使用NSImage绘制精灵?

时间:2012-03-10 15:23:21

标签: cocoa nsimage sprite

我正在尝试使用drawInRect方法使用NSImage绘制一个精灵。我很快注意到,在rects中传递的坐标不是以像素为单位而是以点为单位。我需要用像素级精度绘制我的精灵,因为每个精灵的尺寸确切地说是73x92像素。

简而言之,我似乎需要以下任何一项: 1)NSImage接受我的像素,而不是其他单位。 2)从像素到NSImage单元的非常精确的转换,使得寻址像素不会由于抗锯齿效应而导致任何模糊。

1 个答案:

答案 0 :(得分:1)

NSImage没有任何根本性的错误会使这种情况变得不可能。如果你给它适当的源和目标rects,它肯定可以用像素级精度绘制。在这方面,您必须为我们发布您的代码以提供帮助。

但是,您可能会发现处理较低级别的API更容易。 NSImage旨在处理任何看起来像图像的东西 - 位图,PDF等。这种普遍性和它的年龄有时会导致一些令人困惑的行为。我发现使用CGImage(总是位图)可以更加可预测。或者,尝试NSBitmapImageRep。