菜鸟教程小白 发表于 2022-12-12 09:00:15

ios - Core Graphics - 如何在不画线的情况下绘制阴影?


                                            <p><p>看看这段代码:</p>

<pre><code>- (void)drawRect:(CGRect)rect
{
;

CGContextRef context = UIGraphicsGetCurrentContext();

CGSizemyShadowOffset = CGSizeMake (-10,15);

CGContextSaveGState(context);

CGContextSetShadow (context, myShadowOffset, 5);

CGContextSetLineWidth(context, 4.0);
CGContextSetStrokeColorWithColor(context,
                                 .CGColor);
CGRect rectangle = CGRectMake(60,170,200,200);
CGContextAddEllipseInRect(context, rectangle);
CGContextStrokePath(context);
CGContextRestoreGState(context);
}
</code></pre>

<p>它的作用是为这个圆画一个圆和一个阴影。但是我不知道如何在不画圆线的情况下只画阴影?我怎么做? SO上类似问题的答案对我没有帮助</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我能够使用描边颜色 <strong>white</strong> 和混合模式 <strong>multiply</strong> 来实现这一点:</p>

<pre><code>// ...
context.setStrokeColor(UIColor.white.cgColor)
context.setShadow(offset: CGSize.zero, blur: 8.0, color: UIColor.black.cgColor)
context.setBlendMode(.multiply)
context.addPath(...) &lt;--- ADD YOUR PATH HERE
context.strokePath()
// ...
</code></pre>

<p>它只画阴影,没有描边。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Core Graphics - 如何在不画线的情况下绘制阴影?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22688948/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22688948/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Core Graphics - 如何在不画线的情况下绘制阴影?