现在在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;
}
分享到:
相关推荐
此外,还有设备连接、断开连接、视频预览、抓图等功能。 4. 更深入的功能: - 视频流处理:SDK支持RTSP、HTTP等多种协议,开发者可以利用这些接口实现视频流的实时播放、录制和回放。 - 报警处理:通过SDK提供的...
2. 视频录制:除了静态截图,一些工具还提供录制屏幕视频的功能,比如Bandicam、OBS Studio。 3. 自动保存和云同步:一些高级截图工具如Snagit可以设置自动保存截图到指定位置,甚至同步到云端,方便多设备访问。 ...
海康威视的H5player V2.0.0是...通过其提供的详尽API接口,开发者可以实现视频播放、录像、抓图、回放控制等多种功能,适应不同应用场景的需求。然而,正确配置和了解浏览器及硬件的解码能力是成功使用H5player的关键。
- 其他控制接口如开启声音、关闭声音、设置音量、获取音量、录像、抓图、回放、暂停、恢复、对讲等。 **事件处理** 通过`JS_SetWindowControlCallback`可以注册监听各种播放器事件,如播放、停止、错误等,以便进行...
QT框架基于C++,提供了丰富的API,支持多种操作系统,包括Windows、Linux、Mac OS X、Android和iOS等。它提供了一整套工具,帮助开发者构建现代、高效的用户界面,并且有良好的性能表现。 2. **Linux 64位环境**:...
1. 必备条件:需要iOS 3.0或更高版本,手机包括iPhone、iPod touch等。 2. 安装步骤: - 运行iPhone的App Store程序,切换到搜索标签页,在搜索栏中输入vMEye,会找到应用程序安装包,点击进行安装 - 安装完就会...
移动SDK接口是为移动客户端平台设计的,包括iOSSDK接口和AndroidSDK接口,支持视频预览、云台控制、设备抓图、语音对讲等功能。 - IOSSDK使用说明:涉及简介、名词解释、TPOpenSDK配置、功能介绍、TPOpenSDK流程、...
目前支持Windows , Android平台, iOS平台,支持多窗口。视频支持H.264,H.265 ,音频支持AAC 。代码及编译方法Windows:vs2010编译;工作流程功能特点超低延迟的RTMP播放器;超强的设备兼容性和可定制性;完美支持...
3. **视频性能**:支持PAL和NTSC两种视频标准,图像编码采用H.264(High Profile)和JPEG抓图技术。监视质量最高可达1080P,支持本地模式下的D1/HD1/CIF/QCIF等多种格式。 4. **多模式输入能力**:纯本地输入时,支持8...
- 视频截图:从视频帧中提取静态图像。 二、截屏的应用场景 1. 工作沟通:通过截屏,可以快速向同事或客户展示问题所在,提高协作效率。 2. 教学演示:在教学过程中,截屏可以用来展示操作步骤,便于学生理解。 3...
CamHi软件是一款集成了实时视频预览、录像、抓图、云台控制、移动侦测等多种功能的应用。它允许用户通过手机或PC终端远程访问和管理IPC(网络摄像机)。软件的主要特点包括: 1. **多平台支持**:CamHi不仅适用于...