Попробуйте:
myImageBM.height = 800;
myImageBM.width = myImageBM.scaleY * myImageBM.width;
Предполагается, что вы просто отображаете его.Для дальнейшей обработки изображения я бы применил матрицу к его растровым данным.
Конечно, если вы имеете дело как с портретными, так и с ландшафтными изображениями, это будет немного сложнее, но общая идея заключается в том, что вы устанавливаете любую высотуили ширину, затем используйте свойства масштаба растрового изображения для настройки другого измерения.