【问题标题】:drawRect draw a thin line with a big shadowdrawRect 画一条带有大阴影的细线
【发布时间】:2013-09-20 15:28:38
【问题描述】:

情况

我通过CGContextAddLineToPointCGContextStrokePath 画了一条细线。我通过CGContextSetShadowWithColor添加了一个红色阴影。

期望的行为

无论我为模糊设置什么值,红色阴影都太弱了。我希望红色阴影更强烈。

注意

带有红色阴影的白线是放在图像顶部的,不是平面颜色,所以我不能用平面颜色来伪造它。

另外,白线可以弯曲(我用CGContextAddQuadCurveToPoint)。

我尝试了什么

CGContextSetLineWidth,我发现增加宽度会使红色阴影更加明显。但是,当时的白线太粗了。

然后我尝试使用较大的线宽将绘图分成两部分,并带有阴影。当我尝试使用[[UIColor clearColor] setStroke] 仅绘制阴影时,根本没有绘制阴影。

然后我尝试使用[[UIColor colorWithRed:1 green:0 blue:0 alpha:0.1] setStroke] 仅绘制阴影,但在笔划上设置 alpha 也会影响阴影的 alpha,因此阴影仍然太弱。

我尝试关注iOS Core Graphics: Draw ONLY shadows of a CGPath,但我得到了一个奇怪的效果,我的阴影不仅没有显示,而且线条从红色逐渐变为黑色。我不确定发生了什么。

我们将不胜感激。

【问题讨论】:

  • 您能展示一张您想要实现的目标的图片吗?谢谢

标签: ios objective-c drawrect cgcontext quartz-core


【解决方案1】:

我最终关注了CGContextDrawRadialGradient For Non-Circular Glow。基本上我多次在自身顶部重新绘制线条,直到发光看起来足够强。我还对它进行了光栅化,希望性能不会太苛刻。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 2020-09-26
    • 1970-01-01
    相关资源
    最近更新 更多