从UIView里面截图 - Obtain UIImage From UIView

昨天回答了一个老外的问题,呵呵,用英文解释给他听,他不懂,不知道是我英文写的不好还是它不懂,自己贴下:

-only capture a screen UIView

how can i capture a scree with the use of coding..


-here is a function "drawRect" in UIView you can obtain the current CGcontextRef in use of "UIGraphicsGetCurrentContext()" then use "CGBitmapContextCreateImage()" function to create CGImageRef that may be you want !


-in that i can made UIView convert into image ..?


-yes you just convert CGImageRef to UIImage 


-i dont understand you have any semple code then plz send me.....


-wait!

非得要源码,刚好自己也总结下:

/*

 send [self setNeedsDisplay] to obtain UIImage

 */

- (void) drawRect:(CGRect)clip

{

// obtain the UIView context

CGContextRef context = UIGraphicsGetCurrentContext();

// create CGImageRef frome UIView context

CGImageRef imageref;

imageref = CGBitmapContextCreateImage(context);

// convert CGImageRef to UIImage;

UIImage *uiImage;

uiImage =[UIImage imageWithCGImage:imageref];

CGImageRelease(imageref);

}

你可能感兴趣的:(uiview,function,image)