我想制作一个发光的文字,看起来好像是闪亮或发光。实际上这将在背景中有些模糊。但我在iPhone SDK中找不到任何可以做到的事情。
答案 0 :(得分:21)
您可以使用纯石英绘图来完成此操作。在-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]];
其中text是NSString,而glowColor是要应用的glow的CGColorRef。此示例将绘制一个从16点Helvetica文本延伸出20个像素的光晕,并以文本为中心。
您可以通过提供不同的位移(第一个函数中的第二个参数)并使用黑色CGColor作为阴影,轻松将其转换为阴影。
答案 1 :(得分:2)
如何使用所需的发光颜色将文本渲染到初始透明的缓冲区中,然后对其应用模糊,然后以所需的文本颜色在顶部再次渲染文本。
然后你可以在任何需要的地方绘制缓冲区。
另请参阅"How do I create blurred text in an iPhone view?"的答案,这些答案表明Cocoa Touch缺少任何内置的模糊过滤器。你当然可以写自己的。
答案 2 :(得分:2)
我根据Bard Larson上面的回答和Cocoanetics
上的click here for further info and project source创建了一个简单的iOS4项目。