The capture screen CALayer instance uses the renderInContext method of Core Graphics to draw a View to the image context to convert it to another UIImage instance. Prerequisite # import + (UIImage *) imageFromView: (UIView *) theView {// draw a view's contents into an image context UIGraphicsBeginImageContext (theView. frame. size); CGContextRef context = UIGraphicsGetCurrentContext (); [theView. layer renderInContext: context]; UIImage * theImage = UIGraphicsGetImageFromCurrentImageContext (); UIGraphicsEndImageContext (); return theImage;} Note: UIGraphicsBeginImageContext (CGSize Create a bitmap-based context and set it to the current context. The function is the same as uigraphicsbeginimagecontextwitexceptions. The opaque parameter of this method is NO and the scale factor is 1.0. The UIGraphicsEndImageContext () method removes the graph context based on the current bitmap on the top of the stack. Const CGFloat kReflectPercent =-0.25f; const CGFloat kReflectOpacity = 0.3f; const CGFloat kReflectDistance = 10.0f; + (void) addSimpleReflectionToView :( UIView *) theView {CALayer * reflectionLayer = [CALayer layer]; reflectionLayer. contents = [theView layer]. contents; reflectionLayer. opacity = kReflectOpacity; reflectionLayer. frame = CGRectMake (0.0f, 0.0f, theView. frame. size. width, theView. frame. Size. height * kReflectPercent); // reflection layer framework settings, where the height is the percentage of the original view CATransform3D stransform = CATransform3DMakeScale (1.0f,-1.0f, 1.0f); CATransform3D transform = transform (stransform, 0.0f,-(kReflectDistance + theView. frame. size. height), 0.0f); reflectionLayer. transform = transform; reflectionLayer. sublayerTransform = reflectionLayer. transform; [[theView layer] addSublayer: reflectionLayer];} another one: Use Cor E Graphics create reflection + (CGImageRef) createGradientImage :( CGSize) size {CGFloat colors [] = {0.0, 1.0, 1.0, 1.0 }; // create a gradient CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray (); CGContextRef context = CGBitmapContextCreate (nil, size. width, size. height, 8, 0, colorSpace, kCGImageAlphaNone); CGGradientRef gradient = CGGradientCreateWithColorComponents (colorSpace, colors, NULL, 2); CGColorSpaceRelease (colorSp Ace); // draw a linear gradient CGPoint p1 = CGPointZero; CGPoint p2 = CGPointMake (0, size. height); gradient (context, gradient, p1, p2, gradient); // Return the CGImage CGImageRef theCGImage = CGBitmapContextCreateImage (context); CFRelease (gradient); CGContextRelease (context ); return theCGImage;} // Create a shrunken frame for the reflection + (UIImage *) reflectionOfView :( UIView *) TheView WithPercent :( CGFloat) percent {// Retain the width but shrink the height CGSize size = CGSizeMake (theView. frame. size. width, theView. frame. size. height * percent); // Shrink the View UIGraphicsBeginImageContext (size); CGContextRef context = UIGraphicsGetCurrentContext (); [theView. layer renderInContext: context]; UIImage * partialimg = UIGraphicsGetImageFromCurrentImageContext (); UIGraphicsEndI MageContext (); // build the mask CGImageRef mask = [ImageHelper createGradientImage: size]; CGImageRef ref = CGImageCreateWithMask (partialimg. CGImage, mask); UIImage * theImage = [UIImage imageWithCGImage: ref]; CGImageRelease (ref); CGImageRelease (mask); return theImage;} const CGFloat kReflectDistance = 10.0f; + (void) addReflectionToView: (UIView *) theView {theView. clipsToBounds = NO; UIImageView * ref Lection = [[UIImageView alloc] initWithImage: [ImageHelper reflectionOfView: theView withPercent: 0.45f]; CGRect frame = reflection. frame; frame. origin = CGPointMake (0.0f, theView. frame. size. height + kReflectDistance); reflection. frame = frame; // add the reflection as a simple subview [theView addSubView: reflection]; [reflection release];} achieve rounded corner image: UIColor * color = [UIColor colorWithRed: 0.95 green: 0.9 5 blue: 0.95 alpha: 0]; [aImage setBackgroundColor: color]; // set the background to transparent/******* set the image rounded corner to begin *******/aImage. layer. masksToBounds = YES; aImage. layer. cornerRadius = 5.0; aImage. layer. borderWidth = 0.5; aImage. layer. borderColor = [[UIColor grayColor] CGColor];/******** set the image rounded corner end ********/other visible methods: http://www.4ucode.com/study/topic/2058289. Implement the crystal effect of the iPhone icon-(void) viewDidLoad {[super viewDidLoad]; UIGraphicsBeginImageContext (icon. bounds. size); CGContextRef ctx = UIGraphicsGetCurrentContext (); const CGFloat components [4] = {0.0, 0.4, 0.0, 1.0}; CGContextSetFillColor (ctx, components); CGContextFillRect (ctx, CGRectMake (0, 0, icon. bounds. size. width, icon. bounds. size. height); UIImage * background = background (); UIGraphicsEndImageContext (); UIImage * image = [UIImage imageNamed: @ "icon.png"]; UIImage * mask = [UIImage imageNamed: @ "IconBase.png"]; UIImage * roundCorner = [UIImage imageNamed: @ "round-corner.png"]; icon. image = image; CALayer * subLayer = [[CALayer layer] retain]; subLayer. frame = icon. bounds; subLayer. contents = (id) [background CGImage]; CALayer * maskLayer = [[CALayer layer] retain]; maskLayer. frame = icon. bounds; maskLayer. contents = (id) [mask CGImage]; [subLayer setMask: maskLayer]; [[icon layer] addSublayer: subLayer]; CALayer * roundCornerLayer = [[CALayer layer] retain]; roundCornerLayer. frame = icon. bounds; roundCornerLayer. contents = (id) [roundCorner CGImage]; [[icon layer] setMask: roundCornerLayer]; [maskLayer release]; [subLayer release]; [roundCornerLayer release];}