//遵守协议,第一个必需遵守,第二个我不确定
<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
- (void)funcChooseFromPhotoAlbum {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
//设置代理
imagePicker.delegate = self;
//允许编辑
imagePicker.allowsEditing = true;
//设置图片源
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
//模态弹出IamgePickerView
[self presentViewController:imagePicker animated:YES completion:nil];
}
- (void)funcChooseFromCamera {
// UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
isUseCamera = YES;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
//设置代理
imagePicker.delegate = self;
//允许编辑
imagePicker.allowsEditing = true;
//设置图片源
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
//模态弹出IamgePickerView
[self presentViewController:imagePicker animated:YES completion:nil];
}else {
NSLog(@"模拟器不支持拍照功能");
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage];
if (outputImage == nil) {
outputImage = [info objectForKey:UIImagePickerControllerOriginalImage];
}
NSData *headData = UIImagePNGRepresentation(outputImage);
NSString *documents = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
//拼接文件绝对路径
NSString *path = [documents stringByAppendingPathComponent:@"header.png"];
//保存
[headData writeToFile:path atomically:YES];
headView.headImage.image = outputImage;
// UIImageWriteToSavedPhotosAlbum 这个方法,默认保存到系统相机胶卷,但是@selector后面的方法 必须是这种格式: - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
//保存图片到系统相册
if (isUseCamera) {
isUseCamera = NO;
outputImage = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(outputImage, self, nil, nil);
}
[picker dismissViewControllerAnimated:YES completion:nil];
}
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
if (error) {
NSLog(@"保存失败");
}
else {
NSLog(@"保存成功");
}
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissViewControllerAnimated:YES completion:nil];
}
iOS选取图片与拍照保存图片
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 文章原作者:OnlyChenJ文章链接地址:http://www.cnblogs.com/chenjianjian...
- 以下内容是如何把APP中的图片保存到相册中和如何在相册中选取图片(一张或多张) 一: 把软件中的图片保存到系统相册...
- 以下内容是如何把APP中的图片保存到相册中和如何在相册中选取图片(一张或多张) 一: 把软件中的图片保存到系统相册...
- 在vc中先引入一个头文件, 用于ios9下判断是否有访问系统相册权限 先签这俩协议 写个属性 写个懒加载, 避免...
- 最近公司要做一个h5,其中包含了图片裁剪、上传等功能,当时也没太在意就用了cropper插件,因为之前在PC端用过...