Advertisement
valerio_mazza

RibaltamentoX/Y, Banda diagonale

Oct 25th, 2019
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.94 KB | None | 0 0
  1. WIDTH=getWidth(pict)
  2. HEIGHT=getHeight(pict)
  3.  
  4. def ribX(pict):
  5. # @param pict: Picture
  6. # funzione che realizza il ribaltmento verticale dell'immagine
  7.   for x in range(WIDTH/2):
  8.     for y in range(HEIGHT):
  9.       leftPix=getPixel(pict, x, y)
  10.       rightPix=getPixel(pict, WIDTH-1-x, y)
  11.       leftColor=getColor(leftPix)
  12.       rightColor=getColor(rightPix)
  13.       setColor(rightPix, leftColor)
  14.       setColor(leftPix, rightColor)
  15.   show(pict)  
  16.    
  17. def ribY(pict):
  18. # @param pict: Picture
  19. # funzione che realizza il ribaltamento orizzontale dell'immagine
  20.   for x in range(WIDTH):
  21.     for y in range(HEIGHT/2):
  22.       topPix=getPixel(pict, x, y)
  23.       bottomPix=getPixel(pict, x ,HEIGHT-1-y)
  24.       topColor=getColor(topPix)
  25.       bottomColor=getColor(bottomPix)
  26.       setColor(bottomPix, topColor)
  27.       setColor(topPix, bottomColor)
  28.   show(pict)
  29.  
  30. def bandaDiag(pict, w, col):
  31. # @param pict: Picture
  32. # @param w: Int
  33. ## larghezza della banda diagonale
  34. # @param col: Color
  35. ## colore della banda diagonale
  36. # traccia una banda diagonale sull'immagine
  37.   pict = cropImage(pict)
  38.   for h in range(0, getHeight(pict)):
  39.     drawHorizontalLineGen(pict, h, h, w, col)
  40.   show(pict)
  41.  
  42. def cropImage(pict):
  43. # @param pict: Picture
  44. # ridimensiona l'immagine con rappporto d'aspetto 1:1
  45.   minLato=min(WIDTH, HEIGHT)
  46.   pict2=makeEmptyPicture(minLato, minLato)
  47.   for x in range(0, minLato) :
  48.     for y in range(0, minLato):
  49.       pixel1=getPixel(pict, x, y)
  50.       pixel2=getPixel(pict2,x ,y)
  51.       newColor=getColor(pixel1)
  52.       setColor(pixel2, newColor)
  53.   return pict2
  54.      
  55. def drawHorizontalLineGen(pict, x, y, w, col):
  56. # @param pict: Picture
  57. # @param x: Int
  58. ## 1a coordinata del punto di inizio
  59. # @param y: Int
  60. ## 2a coordinate del punto di inizio
  61. # @param w: Int
  62. ## larghezza della banda diagonale
  63. # @param col: Color
  64. ## colore della banda diagonale
  65.  
  66.   for c in range(x, min(x+w, getWidth(pict))):
  67.     setColor(getPixel(pict, c, y), col)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement