In Python diagonal spiegeln

Ich nehme an einer Programmierklasse für Python teil und arbeite an der Spiegelung von Bildern, indem ich einen Spiegelungspunkt definiere und dann ein Pixel mit verschachtelten for-Schleifen von einer Seite zur anderen kopiere. Wenn Sie beispielsweise ein Bild vertikal spiegeln, wird der folgende Code verwendet:

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)

Derzeit arbeite ich an einer Zuweisungsfrage, in der wir aufgefordert werden, ein Bild diagonal zu spiegeln, damit die linke obere Seite auf die rechte untere Seite reflektiert wird. Jedes Beispiel und jede Antwort, die ich bisher gefunden habe, funktioniert nur für quadratische Bilder, und ich muss in der Lage sein, dies auf jedes Bild anzuwenden, vorzugsweise durch Definieren eines diagonalen Spiegelpunkts. Ich habe versucht, den Spiegelungspunkt mit einer y = mx + b-Stilgleichung zu definieren, aber ich kann nicht herausfinden, wie Python angewiesen wird, daraus eine Linie zu machen. Jede Hilfe, die nicht für quadratische Bilder spezifisch ist, wäre willkommen!

Hinweis: Da ich hier brandneu bin, kann ich noch keine Bilder posten, aber der diagonale Spiegelpunkt würde von links unten nach rechts oben verlaufen. Das Bild im oberen linken Dreieck wird unten rechts wiedergegeben.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage