iOS开发-保存View为高清图片到相册
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发-保存View为高清图片到相册相关的知识,希望对你有一定的参考价值。
参考技术A 首先,给大家说一下一般的保存 View 为图片到相册这样的方法虽然可以快速实现,但是保存的图片比较模糊,清晰度不够高。
下面是保存 View 为高清图片到相册
大家可以看到,只是换了一个绘制图片的方法,多了两个参数。其中第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。不过我所尝试了YES和NO所出来的效果没什么区别,第三个参数就是屏幕密度了,关键就是第三个参数 [UIScreen mainScreen].scale。此方法所保存的图片的清晰度确实有了很大的提高。
保存图片成功调用的方法
注意:由于是保存图片到相册,所以是要访问系统相册的,所以需要在info.plist文件中里边添加字段:Privacy - Photo Library Usage Description
最后,希望能够帮到有需要的朋友们,愿我们能够一起学习进步,在开发的道路上越走越顺利!
iOS开发-iOS调用相机调用相册将图片保存到本地相册
设置头部代理
<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
1.调用相机
检测前置摄像头是否可用
- (BOOL)isFrontCameraAvailable{ return [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]; }
检测后置摄像头是否可用
- (BOOL)isRearCameraAvailable{ return [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]; }
调用相机
///调用相机 - (void)persentImagePicker{ if (!_imagePickerG) { ///初始化相机 _imagePickerG = [[UIImagePickerController alloc]init]; ///代理 _imagePickerG.delegate = self; } // 前面的摄像头是否可用 if ([self isFrontCameraAvailable]) { _imagePickerG.sourceType = UIImagePickerControllerSourceTypeCamera; } // 后面的摄像头是否可用 else if ([self isFirstResponder]){ _imagePickerG.sourceType = UIImagePickerControllerSourceTypeCamera; } else{ [SVProgressHUD showErrorWithStatus:@"没有相机可用~"]; return; } ///允许拍照后裁剪 _imagePickerG.allowsEditing = YES; [self.navigationController presentViewController:_imagePickerG animated:YES completion:nil]; }
2.调用相册
///调用本地相册 - (void)persentImagePicker{ if (!_imagePickerG) { ///初始化相机 _imagePickerG = [[UIImagePickerController alloc]init]; ///代理 _imagePickerG.delegate = self; } ///相册 _imagePickerG.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; _imagePickerG.allowsEditing = YES; [self.navigationController presentViewController:_imagePickerG animated:YES completion:nil]; }
3.代理事件
///取消选择图片(拍照) - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ [picker dismissViewControllerAnimated:YES completion:nil]; }
///选择图片完成(从相册或者拍照完成) - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];///原图 //获取修剪后的图片 UIImage *imageUp = [info objectForKey:UIImagePickerControllerEditedImage]; }
4.将图片保存到本地
///保存图片到本地相册 -(void)imageTopicSave:(UIImage *)image{ UIImageWriteToSavedPhotosAlbum(image, self, @selector(image: didFinishSavingWithError: contextInfo:), nil); } - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{ if (error == nil) { } else{ ///图片未能保存到本地 } }
以上是关于iOS开发-保存View为高清图片到相册的主要内容,如果未能解决你的问题,请参考以下文章