drawRect绘制一条带有大阴影的细线

时间:2013-09-20 15:28:39

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

状况

我通过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,但我得到了一个奇怪的效果,不仅我的阴影没有显示,而且线条从红色变为黑色。我不确定发生了什么。

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

我最终关注CGContextDrawRadialGradient For Non-Circular Glow。基本上我多次将线条重新排列在自身顶部,直到发光看起来足够强烈。我也希望它的表现不会过于刺耳。