Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. from PIL import Image
  2. import copy
  3.  
  4.  
  5. def mirror(name):
  6. im = Image.open(name)
  7. pixels = im.load() # список пикселов
  8. x, y = im.size # ширина и высота изображения
  9. p = Image.open(name)
  10. p1 = p.load()
  11.  
  12. for i in range(x):
  13. for j in range(y):
  14. pixels[j, i] = p1[i, j]
  15.  
  16. for i in range(x):
  17. for j in range(y):
  18. a = x - i - 1
  19. b = y - j - 1
  20. p1[i, j] = pixels[a, b]
  21.  
  22. p.save(name)
  23.  
  24.  
  25. def twist_image(input_file_name, output_file_name):
  26.  
  27. im = Image.open(input_file_name)
  28. pixels = im.load()
  29. x, y = im.size
  30. x1 = x // 2
  31. y1 = y // 2
  32.  
  33. im2 = copy.deepcopy(im)
  34. p2 = im2.crop((x1 + 1, y1 + 1, x, y))
  35. p2.save('p2.jpg')
  36. im1 = copy.deepcopy(im)
  37. p1 = im1.crop((0, 0, x1, y1))
  38.  
  39. p1.save('p1.jpg')
  40. mirror('p1.jpg')
  41. p1 = Image.open('p1.jpg')
  42. pix1 = p1.load()
  43.  
  44. mirror('p2.jpg')
  45. p2 = Image.open('p2.jpg')
  46. pix2 = p2.load()
  47.  
  48. for i in range(x1):
  49. for j in range(y1):
  50. pixels[x1 - i - 1, y1 - j - 1] = pix2[i, j]
  51. for i in range(x1 + 1, x):
  52. for j in range(y1 + 1, x):
  53. pixels[i, j] = pix1[x - i - 1, y - j - 1]
  54.  
  55. im.save(output_file_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement