[英]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.