Зеркальное изображение по диагонали в Python
Я беру урок программирования на python, и мы работаем над зеркальным отображением изображений, определяя точку отражения и затем копируя пиксель с одной стороны на другую, используя вложенные циклы for. Например, для зеркального отображения изображения по вертикали используется следующий код:
def mirrorVertical(source):
mirrorPoint = getWidth(source) / 2
width = getWidth(source)
for y in range(0,getHeight(source)):
for x in range(0,mirrorPoint):
leftPixel = getPixel(source,x,y)
rightPixel = getPixel(source,width - x - 1,y)
color = getColor(leftPixel)
setColor(rightPixel,color)
В настоящее время я работаю над вопросом о назначении, прося нас отразить изображение по диагонали так, чтобы верхняя левая сторона отразилась на нижней правой. Каждый найденный мной пример и ответ работает только для квадратных изображений, и мне нужно иметь возможность применить это к любому изображению, предпочтительно путем определения диагональной зеркальной точки. Я пытался определить зеркальную точку, используя уравнение стиля y = mx + b, но я не могу понять, как сказать Python сделать эту линию. Любая помощь, не относящаяся к квадратным изображениям, будет принята с благодарностью!
Примечание: так как я здесь новенький, я пока не могу публиковать изображения, но диагональная точка зеркала будет проходить снизу слева вверху справа. Изображение в верхнем левом треугольнике будет отражено в правом нижнем углу.