else {
                    dw = round(sf >= df ? min(sw, dw) : dh*sf);
                    dh = round(sf >= df ? dw/sf : min(sh, dh));
                }