我知道我可以用一堆嵌套的if語句來做到這一點,但我不禁感覺有更優雅的方式。這真的只是一個數學問題,但我對pythonic的答案感興趣,如果確實存在的話。通過給定最小尺寸的單個維度(x OR y)縮放圖像
我有一個圖像可以是任何尺寸/寬高比。
它必須或向下,使得其覆蓋55瓦特X 168H的minumum按比例放大
這裏的複雜之處在於,它需要通過只需要一個單一的值指定的長度的函數被縮放一個廣場的一面,它將適合其內部的圖像。例如,假設我們有一個尺寸爲1000w x 500h的圖像,並且我們將它縮放到200,那麼生成的圖像必須適合200邊的正方形,這意味着生成的圖像將是200w x 100h。
反過來說,如果我們的圖像是200x1000,我們可以擴展到200,我們最終將得到40x200。
因此,要將1000x500的圖像縮放到55x168,我們需要將它縮放到336,因爲這是可以放入336x336正方形內的最大圖像,因此尺寸爲336x168。
爲了將200x1000的圖像縮放到55x168,我們需要將它縮放到275並最終以55x275。
希望這比泥更清晰!感謝您的任何想法。
證明:對於那些對我爲什麼通過方形值進行縮放比例感興趣的用戶,這是Picasa通過URL注入縮放圖片的方式。例如採取以下2個網址:
- https://lh3.googleusercontent.com/-rvkbjZgBMDs/UEHYD3VmGVI/AAAAAAAADwM/UekknfI838s/s150/IMG_20120901_172419.jpg
- https://lh6.googleusercontent.com/-6BHPw9kYIQc/UEHYBS5z-dI/AAAAAAAADwA/QkEWF3H797A/s150/IMG_20120901_172405.jpg
通知都具有URL組件s150
,然而一個圖像是150x112且另一個爲112x150。 150是這些圖像都適合的正方形的值。
精湛,謝謝! – DanH