Сначала ImageSize, с сохранением пропорциональности, изменяем размер по большей стороне до необходимого, потом ConvasSize добовляем недостающее по меньшей стороне, пустое место дорисовываем. Или наоборот - ImageSize по меньшей стороне, ConvasSize - обрезание до необходимого размера