如果NSImage / CGImageRef完全透明,最好的测试方法

时间:2010-06-06 12:19:15

标签: objective-c cocoa macos nsimage

我有一个带有瓷砖的图像,我正在分割并创建单独的瓷砖。

但是,这些图像通常包含我想要排除的完全空白区域(在这种情况下为瓦片)。这些区域完全透明。

现在,我该如何检测它们?可以通过NSBitmapImageRep逐像素地读取图块,但听起来效率不高。

那么测试拼贴透明度的最佳方法是什么(裁剪为CGImageRef,然后转换为NSImage - 如果有帮助的话)

1 个答案:

答案 0 :(得分:2)

如果您不介意使用仅限10.6的通话,那么您可以尝试使用NSImage方法

hitTestRect:withImageDestinationRect:context:hints:flipped:

这比逐像素检查更容易,但我不知道它是否会更有效率。在某个地方,必须检查那些像素......