我正在创建图像裁切器,并且使用了FA Image Cropper。在代码内部有以下功能:
func sizeForImageToDisplay() -> CGSize {
var actualWidth: CGFloat = imageToDisplay!.size.width
var actualHeight: CGFloat = imageToDisplay!.size.height
var imgRatio: CGFloat = actualWidth/actualHeight
let maxRatio: CGFloat = frame.size.width/frame.size.height
if imgRatio != maxRatio {
if imgRatio < maxRatio {
imgRatio = frame.size.height / actualHeight
actualWidth = imgRatio * actualWidth
actualHeight = frame.size.height
}
else {
imgRatio = frame.size.width / actualWidth
actualHeight = imgRatio * actualHeight
actualWidth = frame.size.width
}
}
else {
imgRatio = frame.size.width / actualWidth
actualHeight = imgRatio * actualHeight
actualWidth = frame.size.width
}
return CGSize(width: actualWidth, height: actualHeight)
}
此代码允许最小纵横比为图像的高度和宽度。我想知道如何使最小4:5和最大16:9类似于instagram。