2015-07-01 18 views
5

Ich möchte eine NSBeispielgröße von 512px auf 60px ändern, ich fand nur den Code für iOS, aber nichts für OSX.Wie NSMage in Swift Größe ändern?

+0

[Dies] (http://stackoverflow.com/a/30422317/5328140) Antwort funktioniert für mich völlig in Ordnung –

Antwort

5

Ich habe eine Funktion auf GitHub gefunden, es funktioniert gut für mich.

func resize(image: NSImage, w: Int, h: Int) -> NSImage { 
    var destSize = NSMakeSize(CGFloat(w), CGFloat(h)) 
    var newImage = NSImage(size: destSize) 
    newImage.lockFocus() 
    image.drawInRect(NSMakeRect(0, 0, destSize.width, destSize.height), fromRect: NSMakeRect(0, 0, image.size.width, image.size.height), operation: NSCompositingOperation.CompositeSourceOver, fraction: CGFloat(1)) 
    newImage.unlockFocus() 
    newImage.size = destSize 
    return NSImage(data: newImage.TIFFRepresentation!)! 
} 
+0

Die 'NSImage! (Daten: newImage.TIFFRepresentation)' Teil Abfälle eine Menge von Ressourcen ohne Grund, nur 'return newImage'. – DarkDust