Эффективное обнаружение касаний только непрозрачных пикселей UIImageView
Как бы вы обнаружили прикосновения только на непрозрачных пикселяхUIImageView
, эффективно?
Рассмотрим изображение, подобное изображенному ниже, отображаемое сUIImageView
, Цель состоит в том, чтобы заставить распознаватели жестов реагировать только тогда, когда касание происходит в непрозрачной (в данном случае черной) области изображения.
hitTest:withEvent:
или жеpointInside:withEvent:
Хотя этот подход может быть ужасно неэффективным, так как эти методы вызываются много раз во время события касания.Проверка прозрачности одного пикселя может привести к неожиданным результатам, так как пальцы больше одного пикселя. Проверка круглой области пикселей вокруг точки попадания или попытка найти прозрачный путь к краю может работать лучше.бонусЭто'Было бы хорошо различать внешние и внутренние прозрачные пиксели изображения. В этом примере прозрачные пиксели внутри нуля также должны считаться действительными.Что произойдет, если изображение будет преобразовано?Может ли обработка изображения быть аппаратно ускорена?