2016-08-24 4 views
3

У меня есть 200px x 200px UIImageView на UICollectionViewCell, который отобразит изображение с URL-адреса. Проблема заключается в том, что я не знаю, какой образ разрешения указан URL-адресом, и я думаю, что лучше изменить его сначала, прежде чем размещать его в UIImageView из-за потребления памяти.Resize Скачать изображение с AlamofireImage

Я уже использую alamofire, чтобы загрузить изображение

let url = NSURL(string: "http:\(product.picUrl)") 
self.imgProductItem.af_setImageWithURL(url!, placeholderImage: UIImage(named: "app_default-resize")) 

Мне интересно, есть ли способ, чтобы изменить его, прежде чем он использовать, чтобы поместить в UIImageView? И если какие-либо советы по загрузке изображения для экономии памяти, я бы хотел это услышать.

Любая помощь будет оценена по достоинству. Спасибо.

ответ

0
func ResizeImage(image: UIImage, targetSize: CGSize) -> UIImage { 

    let rect = CGRectMake(0, 0, targetSize.width, targetSize.height) 

    UIGraphicsBeginImageContextWithOptions(targetSize, false, 1.0) 
    image.drawInRect(rect) 
    let newImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return newImage 
} 
+0

Значит, alamofire не включает эти функции? –

+0

Я не думаю, что Alamofire делает любое изменение размера в себе, я уверен, что вам нужно получить изображение через URL или NSData, а затем создать изображение, а затем изменить его размер. Alamofire - это больше похоже на API-интерфейс «получить материал из базы данных» – impression7vx

+2

Он изменяет размер с помощью фильтров. См. Https://github.com/Alamofire/AlamofireImage#image-filters-1. – Rob

Смежные вопросы