iOS - Как рисовать в рамках - PullRequest
       52

iOS - Как рисовать в рамках

0 голосов
/ 03 января 2019

Я использовал алгоритм начального заполнения линии сканирования, чтобы реализовать функцию цветового заполнения.

Но я не знаю, как это сделать.Когда моя ручка попадает в цветок, мне нужно рисовать только внутри черного края цветка, не рисуйте в волосах.

Я пытался использовать: CALayer *layer = [CALayer layer]; layer.contents = (__bridge id)(image.CGImage); self.drawView.layer.mask = layer; Но план не сработал,если кто-нибудь даст решение, это будет так здорово, спасибо.(Английский не является моим родным языком; прошу прощения за ошибки при печати.) enter image description here

1 Ответ

0 голосов
/ 03 января 2019

Используйте двухпроходный подход.

  • Используйте тот же алгоритм, что и алгоритм заливки, чтобы создать трафаретную маску, которая заполняет область, которую вы хотите, чтобы перо рисовало.
  • Нарисуйте перо с тестированием трафарета, чтобы ограничить его разрешенной областью.

Аналогичный подход можно использовать для создания альфа-маски на лету (например, в качестве текстуры) и смешивания ее с рисунком пером.

...