2016-03-20 5 views
0

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

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 

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

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

Edit: Это результат того, что сказал мне PM 2Ring сделать: Motorcycle after removing the mirrorPoint

ответ

0

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

for y in range(0,height): 
+0

Я пробовал, и я получил полное изображение. Однако это не было зеркалом нижней левой части изображения. Есть что-то еще, что мне не хватает? – Sam

+0

@ Сэм: Я не понимаю, что вы имеете в виду. Это преобразование отображает изображение вокруг диагонали «y = x». У меня нет JES, поэтому я не могу проверить код. –

+0

Я добавил изображение, появившееся в результате изменения выше в области вопросов. – Sam

Смежные вопросы