iOS开发 - 保存图片到相册和保存屏幕截图到相册
2023-09-11 14:21:22 时间
恰巧想起来截图于是就去翻了老代码,也和网上的方法做了验证,千篇一律吧,做个整理和总结
1.保存图片到相册:
//这里的图片可以是本地图片也可以是网络的图片,网络的需要通过SD转化
UIImageWriteToSavedPhotosAlbum(self.imageView.image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
if (error == nil) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"已存入手机相册" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
}else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"保存失败" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
}
}
2.保存屏幕截图
这是一个含block的方法,使用时可以通过这个方法拿到保存屏幕截图成功失败后的回调,进而做出某些操作。此处的selector方法和上面的一样,也是上一个方法的延伸,设置保存的区域大小
/**
* 简单截屏并将图片保存到本地
*/
-(void)makeScreenShotCompletion:(void(^)(UIImage * image))completion{
//开启上下文 <span style="font-family: Arial, Helvetica, sans-serif;">设置截屏大小</span>
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
//获取图片
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
//关闭上下文
UIGraphicsEndImageContext();
completion(image);
/**
* 将图片保存到本地相册
*/
UIImageWriteToSavedPhotosAlbum(image, self , @selector(image:didFinishSavingWithError:contextInfo:), nil);//保存图片到照片库
}
最后附Demo下载地址:点击下载
相关文章
- Unity3d与iOS交互开发——接入平台SDK必备技能
- iOS面试必看,最全梳理
- iOS 3D Touch功能
- iOS 开发证书相关问题
- iOS开发之ImageView复用实现图片无限轮播
- IOS开发--仿制网易新闻
- iOS开发网络数据之AFNetworking使用
- iOS 不要用宏来定义你的常量
- ios 多语言支持
- iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)
- iOS开发UI篇—控制器的创建
- 配置超级用户口令(Cisco IOS系统)
- 【IOS-COCOS2D游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置IPHONE横竖屏
- 【IOS-COCOS2D游戏开发之十二】浅析使用C++/C/OC进行IOS游戏混编出现“FAILED WITH EXIT”问题与小结;
- iOS开发那些事--简单表视图
- iOS开发那些事--创建基于故事板的iOS 6的HelloWorld
- 【Swift】iOS开发历险记(二)
- IOS毛玻璃效果
- ios swift5 Codable 本地存储(存取) 字典转模型
- ios(swift)显示和隐藏(收起)tabBar
- iOS @2x @3x图的区别和理解
- iOS音视频开发十:视频解封装,从 MP4 解出 H.264/H.265
- 公布IOS产品被拒后怎样再上传新公布包
- Objective-C(十八、谓语使用及实例说明)——iOS开发基础