Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PIL import Image
- import numpy as np
- import math
- image = Image.open('picture_scene.png')
- width, height = image.size
- img = image.rotate(30)
- img.save( "array_to_image_cmp.png")
- image_array = np.array(image)
- new_array = np.zeros((width, height, 4), dtype = np.uint8) #dtype=np.uint8
- for i in range(width):
- for j in range(height):
- flag1 = (i - width/2) * math.cos(-30 * math.pi/180) - (j - height/2) * math.sin(-30 * math.pi/180) + width/2
- flag2 = (i - width/2) * math.sin(-30 * math.pi/180) + (j - height/2) * math.cos(-30 * math.pi/180) + height/2
- if flag1 < 0 or flag2 < 0 or flag1 > width or flag2 > height:
- new_array[i, j] = [0, 0, 0, 255]
- else:
- if (int)(flag1) - flag1 <= (int)(flag1) + 1 - flag1:
- new_flag1 = (int)(flag1)
- else:
- new_flag1 = (int)(flag1) + 1
- if (int)(flag2) - flag2 <= (int)(flag2) + 1 - flag2:
- new_flag2 = (int)(flag2)
- else:
- new_flag2 = (int)(flag2) + 1
- new_array[i, j] = image_array[new_flag1, new_flag2]
- #new_array[i, j] = [0, 0, 0, 0]
- array_to_image = Image.fromarray(new_array, 'RGBA')
- print(width, height, array_to_image)
- array_to_image.save("array_to_image.png")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement