Инвертировать маску CALayer, основанную на обводке (без заливки)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Инвертировать маску CALayer, основанную на обводке (без заливки)

Сообщение Anonymous »


Уважаемое сообщество Stack Overflow!

У меня возникла проблема со свойством маски CAShapeLayer в iOS (Swift).

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

Я нашел несколько хороших ответов по инвертированию пути, но они были полезны только при использовании заполненного пути. Я пытаюсь обвести путь и использовать инвертированный путь для маскировки изображения. Толщина линии обводки должна быть примерно 30,0, чтобы она выглядела как ластик.

Я пробовал разные вещи. Моя текущая версия выглядит так:
[*]Создайте CAShapeLayer, который будет содержать путь ластика. [*]Установите для fill-color слоя значение nil [*]Установите цвет обводки и ширину линии [*]Добавьте слой в качестве маски слоя изображения
Это работает нормально, но видимыми становятся только те части изображения, которые находятся внутри обводки. Я хочу сделать это обратно. Я думал о черно-белой маске, но это не работает, потому что маска доставляется через альфа-канал.

Есть ли у кого-нибудь идеи, как решить проблему?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»