Я хотел бы сделать светящийся текст, который выглядит, если он сияет или пропускает свет. На самом деле это будет сделано с некоторой размытой в фоновом режиме. Но я ничего не нашел в iPhone SDK, который бы это сделал.Есть ли простой способ или библиотека, доступная, чтобы позволить светить?
ответ
Вы можете сделать это, используя чистый кварцевый рисунок. В -drawRect: для UIView или -renderInContext: для CALayer, следующий код будет использовать текст и применить свечение вокруг него:
CGContextSetShadowWithColor(context, CGSizeMake(0.0, 0.0), 20.0f, glowColor);
[text drawAtPoint:CGPointMake(0.5f, 0.5f) withFont:[UIFont fontWithName:@"Helvetica" size:16.0f]];
где текст является NSString и glowColor является CGColorRef для свечения вы хотите подать заявку. В этом примере будет показано свечение, которое вытесняет 20 пикселей из 16-позиционного текста Helvetica и центрируется по тексту.
Вы можете легко преобразовать это в тень, предоставив другое смещение (второй аргумент в первой функции) и используя черный CGColor для тени.
Звучит неплохо! Это почти так, как я хотел бы попробовать в векторной графической программе. Поэтому, когда я получу это право, мой текст не должен быть слишком длинным, потому что свечение - это в основном масштабированная версия текст, где наиболее центральные пиксели находятся выше eachother, а самые левые/правые отличаются в основном от их клонов внизу, правильно? – 2009-08-05 09:11:18
btw: можно ли использовать эту технику для применения свечения на любом содержимом вида? afaik a UIView имеет кэшированное изображение как контент, где эффект может быть применен, чтобы заставить everythig выглядеть размытым ... я бы сказал, что для этого нужен какой-то гауссовский алгоритм, но это, вероятно, другой вопрос. – 2009-08-05 09:13:08
Это должно применить свечение к контуру любого векторного содержания кварца, которое вы рисуете после вызова CGContextSetShadowWithColor(). Для содержимого изображения он, скорее всего, просто начнет светиться вокруг границ изображения. Чтобы размыть контент, вам, вероятно, нужно будет нарисовать его как векторы, но оставить цвет штриха как совершенно прозрачный. Таким образом, только тень покажет. –
Как насчет рендеринга текста в первоначально прозрачный буфер с использованием желаемого цвета свечения, затем примените к нему размытие и затем визуализируйте текст снова поверх текста в нужном цвете текста.
Затем вы можете нарисовать буфер, где бы он ни находился.
См. Также ответы на вопросы "How do I create blurred text in an iPhone view?", которые предполагают, что у Cocoa Touch отсутствуют какие-либо встроенные фильтры размытия. Вы можете написать свое, конечно.
Да, это хорошая идея. есть библиотека, которая делает именно это. – 2009-08-04 22:37:10
Я создал простой проект, основанный на iOS4 ответ выше от Bard Ларсона и Cocoanetics на моем блоге, click here for further info and project source
- 1. Есть ли доступная библиотека обнаружения объектов/распознавания?
- 2. Есть ли простой способ для новичка позволить Point принимать парные или есть альтернатива?
- 3. Есть ли способ расширить WSHttpBinding, чтобы позволить SwA?
- 4. Есть ли способ, чтобы позволить перечисление возвращать значение без метода
- 5. SHA512 в Silverlight недоступен, есть ли доступная управляемая библиотека?
- 6. Есть ли библиотека корреляции фаз изображения, доступная для Python?
- 7. Есть ли хорошая коммерчески доступная библиотека последовательных портов
- 8. Есть ли полная библиотека оболочки user32.dll, доступная для .NET?
- 9. Есть ли доступная библиотека COM для разрешения кодировки URL?
- 10. Есть ли библиотека, доступная для протокола SECS/GEM?
- 11. Есть ли библиотека Python для простой записи масштабируемых пользовательских интерфейсов?
- 12. Есть ли доступная инфраструктура chatbot?
- 13. Есть ли API или другая библиотека, доступная для служб отчетов SQL?
- 14. Есть ли более простой способ реализовать openid?
- 15. Есть ли библиотека или способ разработки простой электронной таблицы в iPhone и сохранить ее?
- 16. Есть ли библиотека или класс без проблем, чтобы определить, является ли пользователь Wi-Fi или нет?
- 17. Есть ли онлайн-радио библиотека или способ там?
- 18. Есть ли простой способ ПРОЧИТАТЬ ULS программно?
- 19. Есть ли способ позволить hibernate автоматически управлять базой данных?
- 20. Есть ли простой способ настроить QProgressBar?
- 21. Есть ли простой способ редактировать/изменять UILocalNotification
- 22. Есть ли простой способ проверки автосканирования Openshift?
- 23. Есть ли простой способ перебрать NSArray назад?
- 24. Xcode SQLite - есть ли более простой способ?
- 25. Есть ли простой способ позволить другому ViewController знать, что нажата кнопка?
- 26. Есть ли простой способ создания похожих цветов?
- 27. Есть ли простой способ изменить эти строки
- 28. Есть ли способ позволить Python генерировать несколько операторов if?
- 29. Есть ли более простой способ читать * .jar или файловую систему?
- 30. есть ли более простой или короткий способ написать этот код?
Если вы имеете в виду что-то вроде этого: http://activeden.net/item/xml-text- progressive-light-glow-effect/47740 ... Я тоже ищу это. Я загрузил версию Flash, но использует API-запросы, специфичные для Flash (в частности, DropShadowFilter и ColorTransform (с смешиванием), которые, как я знаю, не входят в Quartz ... –