Получить границы PKDrawing / отдельные штрихи в PencilKit - PullRequest
1 голос
/ 10 января 2020

Мне нужен доступ к координатам отдельных штрихов PKDrawing в PencilKit. Есть ли способ, которым я могу получить доступ к этому? В настоящее время моя единственная идея - попытаться декодировать непрозрачное представление данных, которое мы получаем из PKDrawing.

Ответы [ 2 ]

1 голос
/ 21 января 2020

Как сказал Бен, в настоящее время нет никакого способа получить доступ к данным уровня штриха в PencilKit. Это кажется довольно элементарной функцией, так что, надеюсь, Apple добавит ее в следующий WWD C. Скрещенные пальцы.

Учебное пособие LetsBuildThatApp на YouTube является хорошей отправной точкой, если вы просто хотите использовать базовые c возможности рисования и не слишком беспокоитесь о качестве рисования или задержке. Я столкнулся с проблемами, когда попытался добавить возможность изменять ширину хода в зависимости от давления пера. Я никогда не мог заставить его плавно переходить между сегментами обводки различной ширины - он всегда «скачкообразно» перепрыгивал с одной ширины на другую. Может быть, есть способ исправить это, но я не смог.

Я подозреваю, что в настоящее время единственный способ рисовать высококачественные изображения с низкой задержкой с помощью Apple Pencil - это написать движок рисования с нуля. в металле или OpenCL. Странно, что Apple с момента выпуска Apple Pencil потребовалось так много времени, чтобы создать всеобъемлющий каркас для рисования. Пальцы скрещены, что меняется на WWD C 2020.

0 голосов
/ 18 января 2020

Я искал то же самое, и из этого комментария { ссылка } и моего собственного поиска документации кажется, что то, что вы просите, не существует. Если вы обнаружите способ декодирования непрозрачных данных, пожалуйста, обновите эту ветку о том, как это так.

Если вы не обязательно настроены на PencilKit, вы можете вручную закодировать свои функции рисования, что проще, чем кажется. В этом уроке: https://youtu.be/E2NTCmEsdSE?t=504 У меня есть метка времени, где он показывает, что у него есть доступ ко всем точкам на линиях, которые он создает.

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

...