2013-02-12 2 views
2

Я пытаюсь на день или два попытаться получить тень, чтобы нарисовать внутри текста NSTextField (и сделать прозрачный цвет переднего плана, так что все, что вы видите, это тень внутри текст). Я еще не достиг желаемого и практического результата. Единственный успех, который у меня был с этим, заключался в том, чтобы преобразовать текст в NSBezerPath, вычитая его из кадра NSTextFieldCell и обрезая с использованием метода setClip (addClip в этом случае недостаточно, он оставляет окрашенный фон). К сожалению, преобразование текста в NSBezerPath заставляет края текста выглядеть зазубренными и чрезмерно выпрямленными. Есть ли эффективный и достойный способ достичь этого с помощью масок CoreGraphics и отсечения, потому что я не могу этого достичь.Тень внутри текста на NSTextField/NSTextFieldCel

Очень похожий эффект от того, что я искал, находится в Xcode IDE, если у вас нет сеанса отладки и перейдите в навигатор отладчика, в нем говорится «Нет сеанса отладки» в подклассе NSTextField, который рисует текст с тенью внутри него. Это почти то, что мне нужно. Любое понимание того, с чего начать и как это сделать, было бы здорово.

Пасту бин мой текущий код (работает, но неоптимальный, & нерабочие): http://pastebin.com/4pTv8ZWm

+0

Я думал, что это легко, но проблема в том, что когда вы рисуете теневой идентификатор, текст имеет значение альфа 0, тень не нарисована. См. Здесь: http://stackoverflow.com/questions/8170678/ios-core-graphics-draw-only-shadows-of-a-cgpath –

+0

Хорошо, я думаю, что есть некоторая недоразумение. Я пытаюсь не использовать CGPath/NSBezierPath, поскольку пути делают текст зазубренным, потому что они сглажены иначе, чем текст. Я работал с использованием bezier-путей, но текст выглядел очень плохо, поэтому я искал лучший метод. – TheCrypticAce

ответ

0

Вы поиграл с теневой собственностью NSTextField в IB? Вы должны быть достаточно близки, используя слегка смещенный эффект тени на текст с правильной смесью альфа-прозрачности.

+0

Это будет работать только для внешних теней. Смешение альфа-прозрачности [цвета текста] было бы проблемой, потому что оно должно быть равным нулю. – TheCrypticAce

+0

Я не уверен, что я должен быть потрясен (или нет), что Apple испытает такую ​​сложность, чтобы создать ярлык, который отображается в 10% случаев в среде IDE, которую большинство пользователей Apple никогда не коснутся. Мне интересно, есть ли у них собственный шрифт, который они используют для этого текста .... – JiuJitsuCoder

+0

Я сомневаюсь, но это возможно. Я проверил бы с F-Script, но он продолжает сбой Xcode, поэтому я не могу сказать. – TheCrypticAce

Смежные вопросы