我有一个CGSize
对象,我需要发送到我的服务器。我可以发送到服务器的最大尺寸是900 * 900(900宽度/ 900高度)。
有一些对象比900 * 900更大,我想编写一个函数来调整它们的最大值(正如我已经说过的,最大值是900 * 900)但要保持宽高比。
例如:如果我有一个宽度为1,000px且高度为1,000px的对象,我希望该函数返回一个900 * 900对象。如果我有一个1920px宽度和1080px高度的对象,我希望它能保持比率,尽可能返回最大尺寸。
任何人都知道我该怎么做?
谢谢!
OriginalUser2回答:
我试过这段代码:
let aspect = CGSizeMake(900, 900)
let rect = CGRectMake(0, 0, 1920, 1080)
let final = AVMakeRectWithAspectRatioInsideRect(aspect, rect)
final
是{x 420 y 0 w 1,080 h 1,080}
,我无法理解为什么x = 420
,但无论如何1080*1080
与1920*1080
的长宽比不同,而且它比900*900
更大。
你能解释一下吗?