2010-06-06 2 views
1

J'ai une image avec des carreaux que je divise et qui crée des carreaux individuels avec.Meilleure façon de tester si un NSImage/CGImageRef est complètement transparent

Cependant, ces images contiennent généralement des zones complètement vides (les carreaux dans ce cas) que je souhaite exclure. Ces zones sont complètement transparentes.

Maintenant, comment puis-je les détecter? Pourrait lire la mosaïque pixel par pixel, au moyen de NSBitmapImageRep mais cela ne semble pas très efficace.

Alors, quelle est la meilleure façon de tester la transparence de la tuile (ils sont rognées à un CGImageRef, puis converti en un NSImage - si cela aide)

Répondre

2

Si vous ne me dérange pas en utilisant l'aide d'un 10.6- n'appelez, vous pourriez essayer la méthode NSImage

hitTestRect:withImageDestinationRect:context:hints:flipped: 

Ce serait plus facile que de vérifier pixel par pixel, mais je ne sais pas si ce serait plus efficace. Quelque part sur la ligne, ces pixels doivent être vérifiés ...

+0

Ça me va bien, merci! – Nuoji

Questions connexes