IOS 开发之ios视频截屏的实现代码

           现在好多视频截屏软件,这里提供一个IOS 视频截屏的方法,大家可以参考下,

实现代码:

//截屏
static int i=0;
-(IBAction)screenShot:(id)sender{

  UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0);
  [[self.window layer] renderInContext:UIGraphicsGetCurrentContext()];
  UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();
  CGImageRef imageRef = viewImage.CGImage;
  CGRect rect =CGRectMake(166, 211, 426, 320);//这里可以设置想要截图的区域
  CGImageRef imageRefRect =CGImageCreateWithImageInRect(imageRef, rect);
  UIImage *sendImage = [[UIImage alloc] initWithCGImage:imageRefRect];
  UIImageWriteToSavedPhotosAlbum(sendImage, nil, nil, nil);//保存图片到照片库
  NSData *imageViewData = UIImagePNGRepresentation(sendImage);

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
  NSString *pictureName= [NSString stringWithFormat:@"screenShow_%d.png",i];
  NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:pictureName];
  NSLog(@"%@", savedImagePath);
  [imageViewData writeToFile:savedImagePath atomically:YES];//保存照片到沙盒目录
  CGImageRelease(imageRefRect);
  i++;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-08 17:37