添加发光效果到圆(Adding glowing effect to the circle)

2019-08-16 16:23发布

我画在drawRect方法了一圈,并用颜色填充它。 现在我需要一个发光效果添加到圈子。 当我点击一个按钮,圆需要发光。 我怎样才能做到这一点? 任何帮助将不胜感激!

提前致谢!!!

Answer 1:

如果您正在使用Quartz 2D,你可以简单地添加一个白色的影子来圆。

见的阴影石英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是影子偏移。



Answer 2:

你是否尝试过使用一个UIButton,与你的圆圈和颜色,它的形象吗? 它会自动获得却没有你的工作中发光效果。

复制,准确的光芒,因为它实际上是动画,起一个较小的光芒,然后在短时间内成长为一个有点硬。

如果你想要做没有的UIButton,说要么UIControl,或作为视图,那么你可以把你的按钮的镜头,创造Photoshop等图形编辑应用合适的光芒,然后将该图像添加到您的笔尖。 当你想展现光芒,将它添加到与使用小尺寸变换,使其脉动一次简单的动画视图。

祝好运!



文章来源: Adding glowing effect to the circle