gpt4 book ai didi

swift - 当 ContentMode = AspectFill 时在 UIImageView 中获取 UImage 的大小

转载 作者:行者123 更新时间:2023-11-28 06:21:18 32 4
gpt4 key购买 nike

我目前正在编辑带有核心图形的 UIImage

UIImage 内容模式设置为.aspectFill

当我在图像上绘制时,我想保持图像的比例/比例。

我尝试了以下代码,但它返回的是 .aspectFit 值而不是 .AspectFill

let imageSize = AVMakeRect(aspectRatio: (mainImageView.image?.size)!, insideRect: mainImageView.frame)

任何帮助将不胜感激

托马斯

最佳答案

该函数只能做一个方面适合。

这是一个将进行纵横比填充的函数:

func makeFillRect(aspectRatio: CGSize, insideRect: CGRect) -> CGRect {
let aspectRatioFraction = aspectRatio.width / aspectRatio.height
let insideRectFraction = insideRect.size.width / insideRect.size.height
let r: CGRect
if (aspectRatioFraction > insideRectFraction) {
let w = insideRect.size.height * aspectRatioFraction
r = CGRect(x: (insideRect.size.width - w)/2, y: 0, width: w, height: insideRect.size.height)
} else {
let h = insideRect.size.width / aspectRatioFraction
r = CGRect(x: 0, y: (insideRect.size.height - h)/2, width: insideRect.size.width, height: h)
}
return r
}

关于swift - 当 ContentMode = AspectFill 时在 UIImageView 中获取 UImage 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43399449/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com