![](/img/trans.png)
[英]UIButton background image horizontal scale to fill while maintaining aspect ratio
[英]Scale Coordinates while Maintaining the Aspect ratio in iOS
我有一个2D坐标数组,用于在框中绘制曲线(w,h)。 现在我想将坐标缩放到一个方框(x,y),其中x或y或两者都小于w和h。 特技部分是我必须保持纵横比。 任何帮助将非常感谢。
如果您需要保持纵横比或纵横填充所需的比例。 无论哪种方式,您都需要为x和y变换找到一个比例因子。
首先计算X和Y的各个骶骨因子
(w1, h1) -> (w2, h2) (assuming all floats)
float xScaleFactor = w2 / w1;
float yScaleFactor = h2 / h1;
现在,由于您要缩小尺寸,请采用最小尺寸因子进行纵横比拟合,或采用最大尺寸因子进行纵横填充。
float scaleFactor = MIN(xScaleFactor, yScaleFactor); // Assuming aspect fit
现在简单地将每个点的x和y分量乘以比例因子。
获取两个x和y坐标之间的差异。 确定哪个百分比差异较大,然后将绘制曲线时使用的坐标乘以该百分比。 结果将是适合较小框的大小的曲线。
您可能必须在曲线的坐标上添加偏移量才能将其正确放置在框中。
根据您的需要,最好是寻找绘图API,而不是手动执行,因为您可能会获得一些免费(或便宜)的功能,例如让用户能够缩放比例等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.