ALAsset和ALAssetRepresentation详解
来源:互联网 发布:开淘宝网店卖什么好 编辑:程序博客网 时间:2024/05/21 07:50
ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小,名字,路径等详细信息。
//通过ALAsset获取相对应的资源,获取图片的等比缩略图,原图的等比缩略
CGImageRef ratioThum = [asset aspectRatioThumbnail];
//获取相片的缩略图,该缩略图是相册中每张照片的poster图
CGImageRef thum = [asset thumbnail];
UIImage* rti = [UIImage imageWithCGImage:ratioThum];
UIImage* ti = [UIImage imageWithCGImage:thum];
UIImageView* v1 = [[UIImageView alloc]initWithFrame:CGRectMake(20, 100, 120, 200)];
v1.image = rti;
v1.contentMode = UIViewContentModeScaleAspectFit;
UIImageView* v2 = [[UIImageView alloc]initWithFrame:CGRectMake(180, 100, 120, 200)];
v2.image = ti;
v2.contentMode = UIViewContentModeScaleAspectFit;
[self.view addSubview:v1];
[self.view addSubview:v2];
左侧为等比缩略图效果,右侧为poster效果的缩略图
UIImage* ni = [UIImage imageNamed:@"new.png"];
//修改指定路径的图片资源内容,替换掉原来的内容
[asset setImageData:UIImageJPEGRepresentation(ni, 1.0) metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"new:%@",assetURL);
}];
//根据给定的图片内容,重新生成一张新图
[asset writeModifiedImageDataToSavedPhotosAlbum:UIImageJPEGRepresentation(ni, 1.0) metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"new:%@",assetURL);
}];
//获取资源图片的详细资源信息
ALAssetRepresentation* representation = [asset defaultRepresentation];
//获取资源图片的长宽
CGSize dimension = [representation dimensions];
//获取资源图片的高清图
[representation fullResolutionImage];
//获取资源图片的全屏图
[representation fullScreenImage];
//获取资源图片的名字
NSString* filename = [representation filename];
NSLog(@"filename:%@",filename);
//缩放倍数
[representation scale];
//图片资源容量大小
[representation size];
//图片资源原数据
[representation metadata];
//旋转方向
[representation orientation];
//资源图片url地址,该地址和ALAsset通过ALAssetPropertyAssetURL获取的url地址是一样的
NSURL* url = [representation url];
NSLog(@"url:%@",url);
//资源图片uti,唯一标示符
NSLog(@"uti:%@",[representation UTI]);
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ALAsset和ALAssetRepresentation详解
- ios ALAsset和ALAssetRepresentation详解
- OC -- ALAsset和ALAssetRepresentation相册详解
- ALAssetsLibrary,ALAssetsGroup,ALAsset,ALAssetRepresentation用法详解
- ALAsset
- ALAsset/PHAsset 中的图片和视频文件
- ALAsset/PHAsset 中的图片和视频文件
- NSData、 UIImage、ALAsset之间的关系和转化
- ALAsset是什么?
- Android 移动数据连接状态通知到连接管理的流程
- java设计模式之适配器模式篇
- 从0自学C#01--自绘窗体边框
- WdatePicker 日历控件使用方法+基本常用方法
- 存储过程(自动备份数据)
- ALAsset和ALAssetRepresentation详解
- 命令行操作ios
- Redis数据类型与基本操作
- 常见的Hash算法
- 如何使用 Docker、ECS、Terraform 重建基础架构?
- mysql学习(1):win_64位下载,安装,配置mysql-5-winx64详细步骤
- JVM学习笔记(三)---类加载器补充
- 前端开发,浮动元素居中技巧
- 如何在Java中分配超过-Xmx限制的内存