Лучший способ проверить, является ли NSImage / CGImageRef полностью прозрачным - PullRequest
1 голос
/ 06 июня 2010

У меня есть изображение с плитками, которые я разделяю и создаю отдельные плитки.

Однако эти изображения обычно содержат полностью пустые области (в данном случае плитки), которые я хочу исключить. Эти области полностью прозрачны.

Теперь, как мне их обнаружить? Может считывать плитку пиксель за пикселем, как NSBitmapImageRep, но это звучит не очень эффективно.

Итак, каков наилучший способ проверки прозрачности плитки (они обрезаются до CGImageRef, а затем преобразуются в NSImage - если это помогает)

1 Ответ

2 голосов
/ 08 июня 2010

Если вы не возражаете против использования вызова только 10.6, то вы можете попробовать NSImage метод

hitTestRect:withImageDestinationRect:context:hints:flipped:

Это будет проще , чем проверка пиксель за пикселем, но я не знаю, будет ли это более эффективным. Где-то внизу строки, эти пиксели должны быть проверены ...

...