Как отразить изображение по диагонали в JES

Я новичок на этом сайте и в программировании на jython/python. Так что приношу свои извинения за возможные ошибки в этом посте. Мой вопрос: в настоящее время я изучаю зеркальное отображение изображений в программе Jython под названием JES (среда Jython для студентов), и у меня есть вопрос, который требует зеркального отображения изображения по диагонали. После исследования (в основном на этом сайте) я придумал этот код для этого:

 def mirrorDiagonalBlueMotorcyle(pic):
    # Set up source picture & target picture
    height=getHeight(pic)
    width=getWidth(pic)
    newPic=makeEmptyPicture(height,width)
    # Now for the actual mirroring
    mirrorPoint=0
    for x in range(0,width,1):
      for y in range(mirrorPoint,height):
        sourcePixel=getPixel(pic,y,x)
        targetPixel=getPixel(newPic,x,y)
        color=getColor(sourcePixel)
        setColor(targetPixel,color)
        mirrorPoint+= 1
    show(newPic)
    return newPic 

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

Как мне закодировать программу, чтобы на самом деле отражать изображение, а не только белую часть изображения?

Редактировать: это результат того, что PM 2Ring сказал мне сделать: Мотоцикл после удаления MirrorPoint


person Sam    schedule 20.03.2016    source источник


Ответы (1)


Виновником является mirrorPoint: он обеспечивает зеркальное отражение только области исходного изображения на одной стороне диагонали. Так что избавьтесь от mirrorPoint материала и измените свой внутренний цикл на

for y in range(0,height):
person PM 2Ring    schedule 20.03.2016
comment
Я попробовал это, и я получил полное изображение. Однако это не было отражением нижнего левого угла изображения. Есть ли что-то еще, что мне не хватает? - person Sam; 20.03.2016
comment
@Sam: я не понимаю, что ты имеешь в виду. Это преобразование отражает изображение по диагонали y=x. У меня нет JES, поэтому я не могу проверить код. - person PM 2Ring; 20.03.2016
comment
Я добавил изображение, полученное в результате изменения выше, в области вопросов. - person Sam; 20.03.2016