通过ALAsset获取编辑过的图片

通过ALAsset获取编辑过的图片

29 Jul 2013

一般情况下,通过一个ALAsset对象获取图片的方法是:

CGImageRef imageRef = defaultRepresentation.fullResolutionImage;

如果一张图片被编辑过(iOS 7的系统自带滤镜,说的就是你!),那么通过上述方法只能获取到原图。通过这个方法可以判断图片是否编辑过:

- (BOOL)hasBeenEdited:(ALAsset *)asset
{
    return [asset.defaultRepresentation.metadata objectForKey:@"AdjustmentXMP"];
}

如果编辑过,这样便可以获取到编辑后的图片:

GImageRef imageRef = defaultRepresentation.fullScreenImage;

但是,这样获取到的图片分辨率有所损失,适配了屏幕尺寸。

下面这段代码能够拿到原始尺寸且编辑过的图片:

code

注意:这个方法可能会非常耗时。在iPhone4上曾遇到过某些照片需要处理数分钟之久!因此请酌情处理一些屌丝机型!

另外,这个方法支持iOS6以上系统。(iOS6以前也没有系统滤镜吧)

总结:感谢万能的Stack Overflow。


comments powered by Disqus
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值