【问题标题】:how to create a strong red glow effect on UILabel如何在 UILabel 上创建强烈的红光效果
【发布时间】:2011-11-08 15:38:30
【问题描述】:

我需要像上面那样在 UILabel(或 CATextLayer)上实现外发光效果。我知道要在文本上创建发光效果,我需要偏移 (0,0) 的阴影。我已经接触到了quartz2D 级别,以下是我正在使用的代码:

    _backgroundDownLabel.layer.shadowColor = self.glowColor.CGColor; // red
    _backgroundDownLabel.layer.shadowOffset = CGSizeMake(0, 0);
    _backgroundDownLabel.layer.shadowOpacity = 1;
    _backgroundDownLabel.layer.shadowRadius = self.glowAmount; // tried 1-10
    _backgroundDownLabel.layer.masksToBounds = NO;

问题:当我使用 RGB(1,0,0) 颜色作为阴影颜色来创建红光时,结果太微妙,意味着红光不够强。另一方面,客户设计师发给我一个PSD文件,其中发光颜色明亮而强烈。我猜这不是简单的发光,而是一些 Photoshop 滤镜,可能是外发光或某种组合。

那么,有没有办法通过代码来做类似的事情?

【问题讨论】:

    标签: iphone ios ipad uilabel quartz-graphics


    【解决方案1】:

    我不确定你在问什么,但我认为这会有所帮助:IPhone Text Glow Effect

    另外,如果您想创建像上面的 .psd 那样的红色发光,为什么不将其转换为 .png 并在您的应用程序中使用呢?

    编辑:

    我刚刚从 iTunes U 上的Brad Larson's Advanced iPhone Development Courses 找到了解决您问题的方法。您必须在Brad Larson's 个人资料上下载课程笔记(您必须有 Voodoo Pad 才能打开它们)并进入 Quartz 2D在“时间表”下绘制笔记。然后,您必须下载名为“QuartzExample”的示例代码。
    如果您还没有找到解决方案,希望这对您有所帮助。

    【讨论】:

    • 嘿,谢谢你的帮助,我需要用红光显示动态文字,png不会有帮助
    • @Chris Chen 我把上面的答案改了,希望对你有帮助。
    【解决方案2】:

    如果你真的想要一个完全的控制,那么你必须画......像这样的东西:

    for (int i = 0; i < SOME_NUMBER; i++)
    {
        CGContextSetShadowWithColor(UIGraphicsGetCurrentContext(),
                                    CGSizeZero,
                                    i * SOME_FACTOR,
                                    [UIColor redColor].CGColor);
        [text drawAtPoint...
    }
    

    然后用SOME_NUMBERSOME_FACTOR 进行试验。

    【讨论】:

    • 不知何故阴影没有总结,只有文字绘制
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多