scale より pad を先にして縦長か横長を if() で分岐して4:3に余白をつけて scale すればいいかもしれない