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.