ios相册开发,ios相册应用

ios 开发中调用相册怎么设置剪裁

//创建一个相册控制器

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了鹤城免费建站欢迎大家使用!

UIImagePickerController *pc = [[UIImagePickerController alloc] init];

//图片来源

// UIImagePickerControllerSourceTypePhotoLibrary //相册库

// UIImagePickerControllerSourceTypeCamera //相机 (模拟器使用相机会崩溃,真机可以)

// UIImagePickerControllerSourceTypeSavedPhotosAlbum 照片库

pc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//是否允许编辑图片

pc.allowsEditing = YES;

pc.delegate = self; //设置代理 UINavigationControllerDelegate,UIImagePickerControllerDelegate //相册控制器要遵守两个协议

//把相册控制器 present 出来

[self presentViewController:pc animated:YES completion:nil];

相册代理里面可以设置

#pragma mark - 相册控制器的代理方法

//选择图片完成后调用

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

NSLog(@"%@",info); //得到字典

//保存编辑后的图片 ,在字典里面有信息

self.imageView.image = info[@"UIImagePickerControllerEditedImage"];

// data 转成image

//UIImage imageWithData:#(NSData *)#

// image(.PNG) 转成data

//UIImagePNGRepresentation(#UIImage *image#)

// .jpg 转成data

//参数2. 压缩系数,0 - 1.0

NSData *dataOriginal = UIImageJPEGRepresentation(self.imageView.image, 1.0);

NSData *dataEdited = UIImageJPEGRepresentation(self.imageView.image, 0.3);

NSLog(@"%@",NSHomeDirectory());

//把原始的图片保存到沙盒

[dataOriginal writeToFile:[NSString stringWithFormat:@"%@/Library/1.jpg",NSHomeDirectory()] atomically:YES];

//把编辑过的图片也保存进去 方便对比 (编辑了会压缩,压缩过后的图片所占外存更小,放大会模糊)

[dataEdited writeToFile:[NSString stringWithFormat:@"%@/Library/2.jpg",NSHomeDirectory()] atomically:YES];

//返回

[picker dismissViewControllerAnimated:YES completion:nil];

iOS开发-保存View为高清图片到相册

首先,给大家说一下一般的保存 View 为图片到相册

这样的方法虽然可以快速实现,但是保存的图片比较模糊,清晰度不够高。

下面是保存 View 为高清图片到相册

大家可以看到,只是换了一个绘制图片的方法,多了两个参数。其中第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。不过我所尝试了YES和NO所出来的效果没什么区别,第三个参数就是屏幕密度了,关键就是第三个参数 [UIScreen mainScreen].scale。此方法所保存的图片的清晰度确实有了很大的提高。

保存图片成功调用的方法

注意:由于是保存图片到相册,所以是要访问系统相册的,所以需要在info.plist文件中里边添加字段:Privacy - Photo Library Usage Description

最后,希望能够帮到有需要的朋友们,愿我们能够一起学习进步,在开发的道路上越走越顺利!

ios开发-调用系统相册(原生)

1、首先要开启app对相册获取的权限,找到app对应的Info.plist文件,在Key值一栏填入:Privacy - Photo Library Usage Description,然后在Value一栏填入“此App需要您的同意才能读取相册”。

这样,再用户同意之后,我们的app就能拿到对相册访问的权限了。

2、找到对应控制器的.m文件,在文件中创建一个全局的UIImagePickerController对象和一个UIImageView对象,我的是在ViewController.m文件中创建的。

3.初始化刚才添加imageView和imagePickerVC,初始化时,同时设置imagePickerVC的delegate和图片是否允许编辑,我习惯在懒加载中初始化

记得在@interface添加遵循的协议

4.在viewDidLoad方法中初始化一个button,同时将刚才的imageView和button一起添加到self.view中

5.添加button点击时触发的方法

6.设置UIimagePickerController的代理方法,用来获取我们打开相册后选择的图片

这样,就能打开系统的相册了

下面是效果图:

ios 开发怎么判断系统相册照片存不存在

创建工程项目和视图控制器

创建一个single view工程项目,自动创建一个ViewController试图控制器。

创建并初始化UI控件

在ViewController.m创建并初始化UIImageView用于显示获取的图片,UIButton及响应事件。

设置宏定义、添加代理

判断是否是iOS8以上版本系统:

#define IOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] = 8.0 ? YES : NO)

调用相册需要使用:

UIImagePickerControllerDelegate,UINavigationControllerDelegate代理,iOS7使用UIActionSheet需要添加UIActionSheetDelegate。

完善按钮响应事件

iOS8使用UIAlertController选择获取图片方式;

iOS8使用UIAlertAction选择获取图片方式。

添加自定义方法保存图片到本地沙盒

选择完成后调用。

获取图片缓存并显示

完成示例

要允许app调用相机,读取相册图片。

iOS - Photos框架详解(调用系统相册)

使用系统相册的时候,首先判断是否有权限,没有权限的话,可以弹出提示框。

相册监听中的回调方法是在 子线程 中的,因此要改变UI布局的话,必须回到主线程

** 几个常用的类 **

**PHAsset **: 代表照片库中的一个资源,跟 ALAsset 类似,通过 PHAsset 可以获取和保存资源。每个PHAsset就是一张图片的详细信息,包括图片、位置、时间等。

** PHFetchOptions **: 获取资源时的参数,可以传 nil,即使用系统默认值。

** PHFetchResult **: 表示一系列的资源集合,也可以是相册的集合。

** PHAssetCollection **: 表示一个相册或者一个时刻,或者是一个智能相册(系统提供的特定的一系列相册,例如:最近删除,视频列表,收藏等等)。

** PHImageManager **: 用于处理资源的加载,加载图片的过程带有缓存处理,可以通过传入一个 PHImageRequestOptions 控制资源的输出尺寸等规格。

** PHImageRequestOptions **: 如上面所说,控制加载图片时的一系列参数。


当前文章:ios相册开发,ios相册应用
浏览地址:http://azwzsj.com/article/hosgsp.html