2024年6月11日发(作者:)

iOS截屏代码

-(void)screenShot{

UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0);

//设置截屏大小

[[ layer] renderInContext:UIGraphicsGetCurrentContext()];

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

CGImageRef imageRef = e;

CGRect rect = CGRectMake(0, 0, 641, SCREEN_HEIGHT + 300);//这里可以设置想要截图

的区域

CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);

UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect];

NSData *imageViewData = UIImagePNGRepresentation(sendImage);

NSArray *paths =

NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pictureName= @

NSString *savedImagePath

stringByAppendingPathComponent:pictureName];

[imageViewData writeToFile:savedImagePath atomically:YES];//保存照片到沙盒目录

CGImageRelease(imageRefRect);

CGPoint savedContentOffset = m_tOffset;

CGRect savedFrame = m_;

= [documentsDirectory

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

m_tOffset = CGPointZero;

m_ = CGRectMake(0, 0, m_,

m_); [m_ renderInContext:

UIGraphicsGetCurrentContext()];

image = UIGraphicsGetImageFromCurrentImageContext();

m_tOffset = savedContentOffset;

m_ = savedFrame;

UIGraphicsEndImageContext();

if (image != nil) {

NSLog(@ 截图成功!

}