Как создать эффект высокой печати? - PullRequest
2 голосов
/ 22 февраля 2011

Я собираюсь реализовать что-то вроде знаменитого эффекта "высокой печати" в моем приложении. Вот о чем я говорю: (просто быстрый пример, сделанный в PShop) Letterpress effect

Как вы можете видеть, похоже, что он вдавлен в фон. Интересно, возможно ли сделать что-то подобное на Mac динамически . Есть ли способ? Спасибо!

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Вы можете сделать часть текста с градиентной заливкой, используя код, который я предоставляю в этот ответ . Сначала проверьте пространство координат, потому что я описал это для iPhone, который имеет инвертированную ось Y по сравнению с обычными кварцевыми координатами Mac.

Текст сначала используется для создания обтравочного контура, а градиент рисуется в пределах этого пути.

Что касается внутренней тени, вы можете нарисовать ее после прорисовки градиента, используя CGContextSetShadowWithColor() с соответствующим смещением вниз и черным цветом, а затем снова рисуя текст, используя только обводку текста. У Дина Уомбурна есть пример кода для аналогичной задачи в его ответе здесь .

1 голос
/ 24 февраля 2011
  1. Нарисуйте текст обычным шрифтом, чтобы создать черно-белое растровое изображение.
  2. Нарисуйте еще одно изображение того же размера, полностью заполненное серо-белым градиентом, который вы указали выше.
  3. Создайте полностью белое изображение того же размера, что и другие ваши изображения.
  4. Нарисуйте спину и белое текстовое изображение (1) на белом изображении (3) с помощью NSCompositeDestinationOut.

Это дает вам белое изображение с вырезанным текстом.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...