如何为图像创建最小和最大纵横比? (迅速)

时间:2020-09-08 02:30:50

标签: swift aspect-ratio cgsize

我正在创建图像裁切器,并且使用了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。

0 个答案:

没有答案
相关问题