Obraz lustrzany Ukośnie w Pythonie

Biorę klasę programistyczną na Pythonie i pracujemy nad lustrzanymi obrazami, definiując punkt lustrzany, a następnie kopiując piksel z jednej strony na drugą, używając zagnieżdżonych pętli. Na przykład, lustrzane odbicie obrazu w pionie użyłoby następującego kodu:

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)

Obecnie pracuję nad pytaniem o zadanie, prosząc nas o odzwierciedlenie obrazu po przekątnej, tak aby górny lewy bok został odbity na prawym dolnym boku. Każdy dotychczas znaleziony przykład i odpowiedź działa tylko dla kwadratowych obrazów i muszę mieć możliwość zastosowania tego do dowolnego obrazu, najlepiej poprzez zdefiniowanie diagonalnego punktu lustrzanego. Próbowałem zdefiniować punkt lustrzany za pomocą równania w stylu y = mx + b, ale nie wiem, jak powiedzieć Pythonowi, aby zrobił to wiersz. Każda pomoc nieswoista dla kwadratowych obrazów byłaby mile widziana!

Uwaga: ponieważ jestem tutaj zupełnie nowy, nie mogę jeszcze publikować obrazów, ale przekątny punkt zwierciadlany biegałby od lewej dolnej do prawej górnej. Obraz w lewym górnym trójkącie zostanie odzwierciedlony w prawym dolnym rogu.

questionAnswers(3)

yourAnswerToTheQuestion