ios9下照片瀏覽模糊的解決方案(ALAsset.thumbnail模糊)

來源:互聯網
上載者:User

ios9下照片瀏覽模糊的解決方案(ALAsset.thumbnail模糊)

在ios9下,使用ALAsset方式實現的照片瀏覽器都存在照片模糊的問題,但是目前能找到的大部分開源的照片瀏覽器都是使用這個架構編寫的。

我們通常用以下方法獲得照片縮圖:

 

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

 


調試發現,在ios8上,照片尺寸是150*150,而在ios9上,這個尺寸變成了75*75。

 

查看apple文檔,發現ALAsset已經被廢棄了,建議使用新的Photos架構。

 

 

不過重寫照片瀏覽器是比較費時的,如果項目比較緊張,可以使用以下方法過渡一下:

 

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還是要保留的(就是需要兩套讀圖庫的介面)。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.