使用quartz2D绘制阴影的代码

来源:互联网 发布:英美澳加新 知乎 编辑:程序博客网 时间:2024/05/18 03:51
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 


取获到绘图的context,就可以绘制阴影效果了。

原创粉丝点击