2015-04-04 3 views
0

У меня есть код, над которым я работаю, и я не могу обвести вокруг него голову.Зеркальные изображения изображений по диагонали снизу слева направо

Мне нужно написать код, чтобы изображение отражалось от нижнего левого угла вверху справа по диагонали в этом порядке, а не сверху вниз. Я видел более сложные примеры этого в другом месте, но хотел бы, чтобы это решение было похоже на приведенный ниже код:

Я понимаю, что в общем случае неиспользуемые переменные и плохое кодирование.

Думаю, мне просто нужно изменить то, что находится в двух выражениях. Ребята, что вы думаете?

def mirrorDiagBotLeftToTopRight(): 
    source = pickAFile() 
    picOriginal = makePicture(source) 
    mirrorPoint = getHeight(picOriginal) 
    sourceY = getHeight(picOriginal) 
    sourceX = getWidth(picOriginal) 
    #mirrorPointWidth = width 
    targetX = sourceX - 1 
    targetY = sourceY - 1 
    for x in range(targetX, 0): 
     for y in range(0, mirrorPoint): 
      OriginalPixel = getPixel(picOriginal, targetX, targetY) 
      ReplacedPixel = getPixel(picOriginal, x + 1 ,targetY - 1) 
      color = getColor(OriginalPixel) 
      setColor(ReplacedPixel, color) 
      targetY - 1 

    mirrorPoint = targetX -1 
    targetX + 1 
    show(picOriginal) 

mirrorDiagBotLeftToTopRight() 
+0

были проблемы с форматированием кода с '' – jams

ответ

0

Я не знаю, почему вам нужно

mirrorPoint = getHeight(picOriginal) 
targetX = sourceX - 1 
targetY = sourceY - 1 

, но я хотел бы попробовать что-то вроде этого:

for x in range(0, sourceX): 
     for y in range(0, sourceY): 
      OriginalPixel = getPixel(picOriginal, sourceX - x, sourceY - y) 
      ReplacedPixel = getPixel(picOriginal, x , y) 
      color = getColor(OriginalPixel) 
      setColor(ReplacedPixel, color)