问题描述
UIImagePickerController如何调整图片的大小,如果图片的长宽都超过1500,长宽都必须缩小到65%。例如,如果调整大小后照片的大小为 2000x3000,则两个参数都应乘以 0.65 并变为 1300x1950。 并且,如果照片的长宽不超过1500,照片应该保持不变
解决方法
请找到根据最大尺寸和比例调整大小的代码。
extension UIImage {
func resizeImage(maxSize: CGFloat,scale : CGFloat) -> UIImage {
let size = self.size
if (size.width > maxSize || size.height > maxSize) {
let newSize = CGSize(width: size.width * scale,height: size.height * scale)
let rect = CGRect(x: 0,y: 0,width: newSize.width,height: newSize.height)
UIGraphicsBeginImageContextWithOptions(newSize,false,1.0)
self.draw(in: rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
return self
}
}
让 resizedImage = yourImage.resizeImage(maxSize: 1500,scale: 0.65)