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详解的更多相关文章

  1. iOS 开发之照片框架详解之二 —— PhotoKit 详解(下)

    本文链接:http://kayosite.com/ios-development-and-detail-of-photo-framework-part-three.html 这里接着前文<iOS ...

  2. iOS 开发之照片框架详解

    转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework.html 一. 概要 在 iOS 设备中,照片和视频是相当重 ...

  3. iOS 开发之照片框架详解(2)

    一. 概况 本文接着 iOS 开发之照片框架详解,侧重介绍在前文中简单介绍过的 PhotoKit 及其与 ALAssetLibrary 的差异,以及如何基于 PhotoKit 与 AlAssetLib ...

  4. iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)

    转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework-part-two.html 一. 概况 本文接着 iOS 开 ...

  5. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  6. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  7. EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解

    前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...

  8. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  9. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

随机推荐

  1. Win7隐藏登录界面中的用户(不建议HOME版使用)

    一天一點 能登多高,靠的不是双脚!能看多远,靠的不是双眼!人生路,贵在坚持! Win7隐藏登录界面中的用户(不建议HOME版使用) Win7中如何隐藏不想出现在登录界面中的用户 在Windows系统管 ...

  2. [CSP-S模拟测试]:序列(主席树)

    题目描述 小$A$把自己之前得到的序列展示给了小$B$,不过这一次,他并不要求小$B$模仿他之前的行为.他给了小$B$一些询问,每个询问都是$l\ r\ x$的形式,要求小$B$数出在序列的第$l$个 ...

  3. hdu 5517 Triple

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5517 ------------------------------------------------ ...

  4. ROM、RAM、DRAM、SRAM、FLASH的区别?

    在学习单片机的时候经常会被这些东西搞晕掉,什么ROM RAM FLASH EEPROM 等等......为了不被搞晕,做个笔记,不记得的时候过来看看. 下面是我在网上找的资料: ROM和RAM指的都是 ...

  5. iOS图片压缩问题

    对于压缩的处理我给出的建议是 先判断 图片的大小,如果是本地图片最好用nsfilemanager 来判断 .如果不能用这个判断的话 就只能先将图片转成data,然后再判断了. 图片转成data 当然就 ...

  6. 【读书笔记】:MIT线性代数(1):Linear Combinations

    1. Linear Combination Two linear operations of vectors: Linear combination: 2.Geometric Explaination ...

  7. Java并发Condition接口

    java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力,直到给定的条件为真. Condition对象必须绑定到Lock,并使用newCondition( ...

  8. springCloud的使用07-----消息总线(spring cloud bus)

    spring cloud bus 将分布式的节点用轻量的消息代理连接起来.可用于广播配置文件的更改或服务之间的通讯,也可以用于监控. spring cloud bus 默认只支持rabbitmq和ka ...

  9. c# 自定义控件之 ComboBox

    winform 自带的 combobox 无法支持根据输入文本匹配列表中的项目,需要使用自定义控件. public class MyCombobox : ComboBox { //初始化数据项 pri ...

  10. c#静态变量和非静态变量的区别

    静态变量的类型说明符是static.静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成 ...