Swift 3、如何在Pickerview Controller中改变选中图片的分辨率

In Swift 3, How to change the resolution on the selected image in Pickerview Controller

imagePickerControllerd中选中的原图分辨率为2448x3264

我想保持比例并更改分辨率。

我需要帮助。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [AnyHashable: Any]!) {
    dPrint("IMAGE DICT>> \(editingInfo)")
    self.dismiss(animated: true, completion: nil)

    var cropImage : UIImage?

    if image.size.width > 300 || image.size.height > 300
    {
        cropImage = self.imageWithImage(image: image, scaledToSize: CGSize(width: 300.0, height: 300.0))
    }
    else{
        cropImage = image
    }

  let lowResolutionImg =  cropImage?.lowestQualityJPEGNSData as Data!
}
func imageWithImage(image:UIImage ,scaledToSize newSize:CGSize)-> UIImage
    {
        UIGraphicsBeginImageContext( newSize )
        image.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height))
        let newImage : UIImage = UIGraphicsGetImageFromCurrentImageContext()!;
        UIGraphicsEndImageContext();
        return newImage
    }
//MARK:- EXTENSION FOR UIIMAGE
extension UIImage {
    var uncompressedPNGData: Data      { return UIImagePNGRepresentation(self)!        }
    var highestQualityJPEGNSData: Data { return UIImageJPEGRepresentation(self, 1.0)!  }
    var highQualityJPEGNSData: Data    { return UIImageJPEGRepresentation(self, 0.75)! }
    var mediumQualityJPEGNSData: Data  { return UIImageJPEGRepresentation(self, 0.5)!  }
    var lowQualityJPEGNSData: Data     { return UIImageJPEGRepresentation(self, 0.25)! }
    var lowestQualityJPEGNSData:Data   { return UIImageJPEGRepresentation(self, 0.0)!  }
}