Будьте осторожны с jpegtran при повороте cw или ccw на 90 градусов, он не будет поворачивать все пиксели, как ожидалось, поскольку он может выполнять вращение без потерь только в пределах области, размеры которой кратны размеру блока jpeg (обычно 8x8 пикселей) , Он вращает пиксели внутри каждого из этих блоков внутри, чтобы избежать повторного сжатия изображения, но краевые блоки не могут вращаться таким образом. Так что с jpegtran -rotate 90 или 270 у вас останется крошечная полоска неповоротных пикселей по краю, и вам нужно использовать опцию -trim, чтобы избавиться от них, но тогда результирующее изображение будет на несколько пикселей меньше чем оригинал.
Так что, хотя это вращение без потерь, вы все равно теряете несколько пикселей в процессе.