ios9下照片浏览模糊的解决方法(ALAsset.thumbnail模糊)

原创 2015年10月12日 18:59:13

    在ios9下,使用ALAsset方式实现的照片浏览器都存在照片模糊的问题,但是目前能找到的大部分开源的照片浏览器都是使用这个框架编写的。

    我们通常用以下方法获得照片缩略图:

self.image = [UIImage imageWithCGImage:self.asset.thumbnail];


调试发现,在ios8上,照片尺寸是150*150,而在ios9上,这个尺寸变成了75*75。

查看apple文档,发现ALAsset已经被废弃了,建议使用新的Photos框架。

https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Introduction/Intro.html


不过重写照片浏览器是比较费时的,如果项目比较紧张,可以使用以下方法过渡一下:

self.image = [UIImage imageWithCGImage:self.asset.aspectRatioThumbnail];


aspectRatioThumbnail获得的是原始照片的缩略图,注意不是方图,所以显示这个照片的view需要

[imageView setContentMode:UIViewContentModeScaleAspectFill];


这个办法带来的附加问题是:性能。由于aspectRatioThumbnail图片尺寸比较大,所以显示不是很流畅(iPhone5),异步裁切一下可以解决。

__weak typeof(self) weakself = self;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //裁切
    weakself.image = [weakself.image imageCroppedToFitSize:(CGSize){150,150}];
    dispatch_async(dispatch_get_main_queue(), ^{
        //完成,设置到view
        [weakself.imageView setImage:weakself.image];
    });
});

好了,现在可以慢慢替换成Photos框架了,不过,如果你要继续支持ios7,貌似ALAsset还是要保留的(就是需要两套读图库的接口)。




版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus 举报

相关文章推荐

使用ALAsset处理多图片选择后,图片显示不清晰

使用ALAsset处理多图片选择后,图片显示不清晰 UIImage设置不方法不当造成图片不清晰 ALAsset *asset 不清晰的设置方法如下: UIImage...

用ALAsset获取相册原图

最近在用ALAsset获取相册时候,ALAsset的ALAssetRepresentation只提供了全尺寸图、全屏幕图、metadata等,但是将这些转换成NSData的时候,尺寸都不精确,不是变大...
  • yqmfly
  • yqmfly
  • 2015-11-16 11:44
  • 4268

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ALAsset和ALAssetRepresentation详解

ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小...

MySQL单表多字段模糊查询解决方法

MySQL单表多字段模糊查询解决方法  (2012-02-25 09:53:07) 转载▼ 标签:  it 分类: php 在最近的...

SQL查询语句通配符与ACCESS模糊查询like的解决方法

ACCESS的通配符和SQL SERVER的通配符比较 =================================================== ACCESS库的通配符为: * 与...

wpf4 文字 模糊 不清晰 解决方法

在窗口或控件上设置字体属性就可以了,如下:              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentati...

PHPCMS V9缩略图模糊解决方法

文件路径:phpcms/libs/classes/image.class.php 114-115line 注释: else   imagecopyresized($thumbimg, $srcim...

canvas的drawimage使图片失真变模糊的解决方法

这几天做了个刮刮卡的活动,用的是wScratchPad.js。发现刮开之后的图片变得好模糊, , 解决方法是通过把canvas先放大一倍,然后再通过transform: scale(0.5);使c...

SQL查询语句通配符与ACCESS模糊查询like的解决方法

阿达说的是

android2.3 Luncher2开启3D效果(图标、字体模糊解决方法)

刚进公司,分配下来的任务就是熟悉Luncher,顺便叫我看看能不能把android2.3的luncher2弄成adw_luncher的那种3D效果,可惜本人仅会java,不懂android的应用编程,...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)