Если я правильно понял, вам нужно «перевернуть» изображение по диагонали. Поскольку их два, я предполагаю, что вы имеете в виду тот, который идет слева направо вверх.
Чтобы перевернуть эту диагональ, вам нужно преобразовать каждую строку из источника в столбцы в месте назначения. Левая часть строк станет нижней частью новых столбцов. Также самый верхний ряд станет самым правым столбцом. Вам нужно будет сделать это попиксельно для всего изображения. Также имейте в виду, что ширина и высота изображения будут поменяться местами.
Редактировать : Небольшой пример. Скажем, вы начинаете с изображения шириной 5 пикселей и высотой 3 пикселя (5x3). Вам нужно будет создать новое пустое изображение шириной 3 пикселя и высотой 5 пикселей.
Если вы начнете нумерацию пикселей в левом верхнем углу с (0,0), то в новом изображении этот пиксель будет заканчиваться на (2,4), а пиксель (1,0) - на (2,3). и т. д.
Если ваши исходные ширина и высота W и H, то вы должны использовать что-то вроде этого:
for x in xrange(W):
for y in xrange(H):
p = img_src.getpixel(x, y)
img_dest.setpixel(H-y-1, W-x-1)
Это должно работать, но не проверено.