Iphone 向圆添加发光效果

Iphone 向圆添加发光效果,iphone,uiview,core-graphics,Iphone,Uiview,Core Graphics,我用drawRect方法画了一个圆,并用颜色填充它。现在,我需要添加一个发光效果的圆圈。当我点击按钮时,圆圈需要发光。我该怎么做?任何帮助都将不胜感激 提前感谢 如果您使用的是Quartz 2D,只需在圆中添加白色阴影即可 见 苹果设置阴影的示例代码取自上面的链接: void MyDrawWithShadows (CGContextRef myContext, // 1 float wd, float ht); { CGSize

我用drawRect方法画了一个圆,并用颜色填充它。现在,我需要添加一个发光效果的圆圈。当我点击按钮时,圆圈需要发光。我该怎么做?任何帮助都将不胜感激


提前感谢

如果您使用的是Quartz 2D,只需在圆中添加白色阴影即可

苹果设置阴影的示例代码取自上面的链接:

void MyDrawWithShadows (CGContextRef myContext, // 1
                         float wd, float ht);
{
    CGSize          myShadowOffset = CGSizeMake (-15,  20);// 2
    float           myColorValues[] = {1.0, 1.0, 1.0, .6};// 3 (White shadow colour)
    CGColorRef      myColor;// 4
    CGColorSpaceRef myColorSpace;// 5

    CGContextSaveGState(myContext);// 6

    CGContextSetShadow (myContext, myShadowOffset, 5); // 7

    // Your drawing code here!!!!!!!!!!!!!!!!   // 8

    CGContextSetRGBFillColor (myContext, 0, 1, 0, 1);
    CGContextFillRect (myContext, CGRectMake (wd/3 + 75, ht/2 , wd/4, ht/4));

    myColorSpace = CGColorSpaceCreateDeviceRGB ();// 9
    myColor = CGColorCreate (myColorSpace, myColorValues);// 10
    CGContextSetShadowWithColor (myContext, myShadowOffset, 5, myColor);// 11
    // Your drawing code here// 12
    CGContextSetRGBFillColor (myContext, 0, 0, 1, 1);
    CGContextFillRect (myContext, CGRectMake (wd/3-75,ht/2-100,wd/4,ht/4));

    CGColorRelease (myColor);// 13
    CGColorSpaceRelease (myColorSpace); // 14

    CGContextRestoreGState(myContext);// 15
}
祝你好运

上面的注释行3表示您的阴影将为白色(1.0、1.0、1.0)。
注释行2是阴影偏移量

您是否尝试过使用UIButton,将您的圆形和颜色作为其图像?它会自动获得发光效果,而无需您进行任何操作

复制精确的辉光有点困难,因为它实际上是动画的,从较小的辉光开始,然后在短时间内增长

如果您不想使用UIButton,比如说使用UIControl,或者作为视图,那么您可以拍摄按钮,在Photoshop等图形编辑应用程序中创建合适的光晕,然后将该图像添加到笔尖。如果要显示辉光,请使用简单的动画将其添加到视图中,该动画使用小尺寸变换使其脉冲一次


祝你好运

上述代码中的关键组件是对CGContextSetShadowWithColor()的调用。第7行和第8行设置了一个黑色阴影,这可能是他们不想要的。我在回答中提供了更多的信息:非常感谢Brock。它成功了。还有一个任务,我怎样才能使这个圆圈充满活力。实际上我需要缓慢的发光效果。也就是说,对于一个特定的事件,圆会发光,然后返回到原始视图,没有任何发光的背景。您可以尝试使用带有圆形路径的CAShapeLayer,然后添加白色阴影,然后设置阴影半径的动画。