2016-05-16 6 views
1

Я использую фрагмент кода из этой ссылки - Resize UIImage by keeping Aspect ratio and width, и он отлично работает, но мне интересно, можно ли его изменить, чтобы сохранить жесткие края пикселей. Я хочу удвоить размер изображения и сохранить жесткий край пикселей.Изменение размера изображения, но сохранение жестких краев

class func resizeImage(image: UIImage, newHeight: CGFloat) -> UIImage { 

    let scale = newHeight/image.size.height 
    let newWidth = image.size.width * scale 
    UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight)) 
    image.drawInRect(CGRectMake(0, 0, newWidth, newHeight)) 
    let newImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return newImage 
} 

What I want it to do

What it does

В Photoshop есть ближайший сосед интерполяции при масштабировании, есть что-то подобное в прошивкой?

ответ

0

ли немного больше рыть и нашел ответ -

https://stackoverflow.com/a/25430447/4196903

но где

CGContextSetInterpolationQuality(context, kCGInterpolationHigh) 

вместо писать

CGContextSetInterpolationQuality(context, CGInterpolationQuality.None) 
0

Вы должны использовать CISampler класс (который является доступно только в iOS 9) и вам нужно создать лет ур собственный процессинговый пользовательских изображений фильтр для этого я думаю

Вы можете найти более подробную информацию here и here too

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