如何在swift中调整NSImage的大小?

时间:2015-07-01 07:39:04

标签: xcode macos swift nsimage

我想将NSImage的大小从512px调整为60px,我只找到了iOS的代码,但没有找到OSX的代码。

1 个答案:

答案 0 :(得分:6)

我在GitHub上找到了一个函数,它对我来说很好。

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!)!
}