I have the following extension to resize an image.
extension NSImage { func resizeImage(width: CGFloat, _ height: CGFloat) -> NSImage { let img = NSImage(size: CGSize(width:width, height:height)) img.lockFocus() let ctx = NSGraphicsContext.current() ctx?.imageInterpolation = .high self.draw(in: NSMakeRect(0, 0, width, height), from: NSMakeRect(0, 0, size.width, size.height), operation: .copy, fraction: 1) img.unlockFocus() return img } }
On resizing the aspect ratio is not preserved.
How can I modify the code to preserve aspect ratio?
Please advice.