質問: 160 です。 元画像の横幅 sx 元画像の高さ sy もし横幅が高さより大きかった場合は 横幅は WIDTH にして 高さは WIDTH * sy / sx となっています。 逆に高さの方が大きかった場合は 高さを HEIGHT にして 横幅を HEIGHT * sx /sy で求めています。 何故このような計算になるのか説明をしていただけないでしょうか? 説明がわかりにくかったらごめんなさい。 よろしくお願いいたします。
回答: 縦横の比率を変えないのだから、 横幅>高さ のとき、 元画像の横幅:元画像の高さ=sx:sy・・・(1) リサイズ後の高さをHとすると、 リサイズ後の横幅:リサイズ後の高さ=WIDTH:H・・・(2) (1)=(2)なので、sx:sy=WIDTH:H (比では、a:b=c:dのときad=bcがなりたつので、) sx*H=sy*WIDTH H=WIDTH*(sy/sx) 「簡単にいえば、横幅sxをWIDTHにしたということは、 画像を(WIDTH/sx)倍したので、高さsyも(WIDTH/sx)倍するから sy*(WIDTH/sx)=WIDTH*(sy/sx)になる、ということです。」 横幅<高さのとき、同じように考えて、(リサイズ後の横幅をWとして) sx:sy=W:HIGHT sy*W=sx*HIGHT W=HIGHT*(sx/sy)