Поворот на камере может быть лучшим вариантом, но если вы поворачиваете перед сохранением, а изображение представляет собой JPEG, вращение - это операция с потерями - поэтому сохраненное вами изображение сразу же потеряет некоторое качество.
К счастью, так не должно быть - если вместо чтения в JPEG, поворота изображения и повторного кодирования в JPEG, есть способы применить вращение непосредственно к файлу.
JPEG хранится в виде серии ячеек 8x8 - их можно поворачивать и переставлять по отдельности без потери качества (с шагом 90 градусов) - тогда вам нужно обновить метаданные, которые имеют информацию о размере.
Вот код C ++, который вы можете попробовать перенести
http://eng.neologica.it/download/downloadIJGWin32.html
Для .NET моя компания ( Atalasoft ) предоставляет SDK, который может сделать это.
Другой вариант - чтение JPEG, вращение и сохранение в формате PNG, но размер файла будет намного больше.