Я учусь на курсах программирования на 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, чтобы он превратил это в линию. Будем признательны за любую помощь, не связанную с квадратными изображениями!
Примечание: поскольку я здесь новичок, я пока не могу публиковать изображения, но точка диагонального зеркала будет полезна. бегите из левого нижнего угла в правый верхний. Изображение в верхнем левом треугольнике будет отражено в правом нижнем углу.
Подробнее здесь:
https://stackoverflow.com/questions/147 ... -in-python