Я использую следующие функции, чтобы изменить размеры моих изображений шириной &, но я заметил, что это разрушает качество изображения.Изменение размера изображения без потери качества
class func imageWithSize(image: UIImage,size: CGSize)->UIImage{
if UIScreen.mainScreen().respondsToSelector("scale"){
UIGraphicsBeginImageContextWithOptions(size,false,UIScreen.mainScreen().scale);
}
else
{
UIGraphicsBeginImageContext(size);
}
image.drawInRect(CGRectMake(0, 0, size.width, size.height));
var newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
class func resizeImageWithAspect(image: UIImage,scaledToMaxWidth width:CGFloat,maxHeight height :CGFloat)->UIImage
{
let scaleFactor = width/height;
let newSize = CGSizeMake(width, height);
return imageWithSize(image, size: newSize);
}
Есть ли другой способ изменить размер изображений без разрушения качества? Или как я могу исправить мои функции ниже, чтобы не ухудшить качество изображения после изменения размера?
Какое качество у вас есть и какое качество вы ожидаете? – Mats
@Mats Он правильно изменяет размеры изображений до любой ширины и высоты, которые я передаю функции. Проблема в том, что изображение становится размытым. –
FYI - в iOS 4 была добавлена функция 'UIGraphicsBeginImageContextWithOptions'. Проверка, чтобы увидеть, следует ли использовать ее или нет в этот день, а возраст бессмысленен. – rmaddy