2016-05-16 11 views
1

Ich benutze ein Stück Code von diesem Link - Resize UIImage by keeping Aspect ratio and width, und es funktioniert perfekt, aber ich frage mich, ob es geändert werden kann, um harte Kanten von Pixeln zu erhalten. Ich möchte die Größe des Bildes verdoppeln und die harte Kante der Pixel beibehalten.Größe eines Bildes ändern, aber harte Kanten erhalten

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

In Photoshop gibt es die nächste Nachbar-Interpolation, wenn Ändern der Größe, gibt es so etwas wie das in iOS?

Antwort

0

Hat eine Grab wenig und fand die Antwort -

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

aber wo

CGContextSetInterpolationQuality(context, kCGInterpolationHigh) 

statt schreiben

CGContextSetInterpolationQuality(context, CGInterpolationQuality.None) 
0

Sie benötigen CISampler Klasse verwenden (das ist nur verfügbar in iOS 9) und müssen yo erstellen ur eigenen benutzerdefinierten Bildverarbeitungsfilter für das ich denke,

können Sie weitere Informationen here finden und here too

Verwandte Themen