IOS视频抓图方法IOS截图代码

在iOS 软件开发中如何在视频中抓图呢?视频技术占领非常广的地位,而我们经常在播放视频的过程中,需要执行很多个功能,入视频回放、视频抓图、等 。下面是ios视频截图方法。

#pragma mark – 执行视频抓图操作方法

/*
抓图方法一
*/

static int i = 0;
-(UIImage*)screenShotView{
UIGraphicsBeginImageContextWithOptions(imageView1.frame.size, YES, 0);
[imageView1.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

CGImageRef imageRef = viewImage.CGImage;

//设置截图的区域
CGRect rect = CGRectMake(imageView1.frame.origin.x, imageView1.frame.origin.y, imageView1.frame.size.width, imageView1.frame.size.height);

CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *image = [[UIImage alloc]initWithCGImage:imageRefRect];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);//保存到图片库
NSData *imageViewData = UIImagePNGRepresentation(image);

//设置保存路径
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *pictureName = [NSString stringWithFormat:@"showimage_%d.png",i];
NSString *saveImagePath =[documentPath stringByAppendingPathComponent:pictureName];
NSLog(@"%@",saveImagePath);

//开始写入沙盒
[imageViewData writeToFile:saveImagePath atomically:YES];
CGImageRelease(imageRefRect);
i++;
return image;
}

/*
抓图方法二
*/

-(UIImage*)shotIamge{
UIGraphicsBeginImageContext(imageView1.frame.size);
[imageView1.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *showImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// 存入相册当中
// UIImageWriteToSavedPhotosAlbum(showImage, nil, nil, nil);

//写入沙盒当中
NSData *imageData = UIImagePNGRepresentation(showImage);

//设置路径
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

//获取当前的时间点
NSDate *date = [NSDate date];
NSDateFormatter *forMatter = [[NSDateFormatter alloc]init];
[forMatter setDateFormat:@"YYYY-MM-dd/HH:mm:ss:mm"];
NSString *nowData=[forMatter stringFromDate:date];

NSString *pictureName = [NSString stringWithFormat:@"%@.png",nowData];
NSString *saveImagePath =[documentPath stringByAppendingPathComponent:pictureName];
// NSLog(@"saveImagePath:%@",saveImagePath);
// NSLog(@"imageData:%@",imageData);

//存入沙盒
BOOL yes = [imageData writeToFile:saveImagePath atomically:YES];
if (yes) {
NSLog(@"%hhd",yes);
NSLog(@"存入沙盒成功");
}else{
NSLog(@"%hhd",yes);
NSLog(@"存入沙盒失败");
}

Image *m = [[Image alloc]init];
m.I_ImageName = pictureName;

// 将图片名字的model类存入数据库
[[ImageBaseCtl sharedDataBase]AddDataDeviceInfoToDataBase:m];

return showImage;

}

http://mmm0m.iteye.com/blog/2223037

本条目发布于 。属于ios分类,被贴了 标签。作者是

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>