Un taquin sans trou
This commit is contained in:
134
Un taquin sans trou.py
Normal file
134
Un taquin sans trou.py
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
img = "m-taquin-m.png"
|
||||||
|
input = """h, 0, 23
|
||||||
|
v, 7, -10
|
||||||
|
h, 23, -18
|
||||||
|
h, 18, 3
|
||||||
|
h, 0, -19
|
||||||
|
h, 7, 8
|
||||||
|
h, 17, -12
|
||||||
|
v, 7, 4
|
||||||
|
v, 0, 24
|
||||||
|
h, 22, 3
|
||||||
|
v, 8, -15
|
||||||
|
h, 24, -3
|
||||||
|
h, 2, 0
|
||||||
|
h, 11, -2
|
||||||
|
v, 1, 22
|
||||||
|
v, 17, -17
|
||||||
|
v, 2, 11
|
||||||
|
v, 20, 15
|
||||||
|
v, 18, -12
|
||||||
|
h, 1, 18
|
||||||
|
h, 24, -6
|
||||||
|
h, 7, -18
|
||||||
|
v, 8, 5
|
||||||
|
v, 5, -1
|
||||||
|
v, 6, 18
|
||||||
|
v, 22, 19
|
||||||
|
h, 19, 16
|
||||||
|
h, 17, 22
|
||||||
|
h, 5, 5
|
||||||
|
v, 8, 16
|
||||||
|
h, 21, -4
|
||||||
|
h, 7, -22
|
||||||
|
v, 12, -7
|
||||||
|
h, 6, 12
|
||||||
|
v, 6, 17
|
||||||
|
v, 12, 17
|
||||||
|
v, 4, -8
|
||||||
|
h, 7, 23
|
||||||
|
v, 23, 13
|
||||||
|
v, 18, 1
|
||||||
|
v, 7, -16
|
||||||
|
v, 2, 24
|
||||||
|
h, 3, -15
|
||||||
|
h, 21, 3
|
||||||
|
h, 12, 0
|
||||||
|
v, 16, -8
|
||||||
|
h, 21, 22
|
||||||
|
h, 21, 10
|
||||||
|
v, 24, 17
|
||||||
|
v, 3, -6
|
||||||
|
v, 5, 5
|
||||||
|
h, 23, 22
|
||||||
|
v, 16, 24
|
||||||
|
h, 16, -18
|
||||||
|
v, 20, 8
|
||||||
|
h, 4, -1
|
||||||
|
h, 17, 9
|
||||||
|
h, 19, -4
|
||||||
|
v, 0, -17
|
||||||
|
v, 9, -9
|
||||||
|
h, 7, 12
|
||||||
|
h, 2, 22
|
||||||
|
v, 2, 24
|
||||||
|
h, 4, 18
|
||||||
|
v, 17, -14
|
||||||
|
v, 16, 14
|
||||||
|
v, 6, 10
|
||||||
|
h, 22, -5
|
||||||
|
v, 21, 17
|
||||||
|
v, 14, 9
|
||||||
|
v, 3, -9
|
||||||
|
h, 2, -3
|
||||||
|
h, 18, 11
|
||||||
|
h, 18, -10
|
||||||
|
h, 2, 21
|
||||||
|
h, 7, -20
|
||||||
|
h, 10, -20
|
||||||
|
h, 8, 18
|
||||||
|
v, 6, 10
|
||||||
|
h, 23, 12
|
||||||
|
v, 7, 6
|
||||||
|
v, 6, -18
|
||||||
|
h, 21, 3
|
||||||
|
v, 13, 2
|
||||||
|
v, 23, -21
|
||||||
|
h, 1, 1
|
||||||
|
v, 3, -9
|
||||||
|
h, 6, 10
|
||||||
|
v, 4, 3
|
||||||
|
h, 8, 5
|
||||||
|
h, 2, 4
|
||||||
|
h, 1, 17
|
||||||
|
h, 2, 24
|
||||||
|
h, 5, 2
|
||||||
|
v, 15, -11
|
||||||
|
v, 1, -14
|
||||||
|
v, 0, 0
|
||||||
|
v, 14, -6
|
||||||
|
v, 22, 22
|
||||||
|
v, 4, -12"""
|
||||||
|
|
||||||
|
bandelettes = 25
|
||||||
|
|
||||||
|
img = Image.open(img)
|
||||||
|
|
||||||
|
width, height = img.size
|
||||||
|
bandelette_largeur = width//bandelettes
|
||||||
|
|
||||||
|
img_h = Image.new(img.mode, (width, bandelette_largeur))
|
||||||
|
img_v = Image.new(img.mode, (bandelette_largeur, height))
|
||||||
|
|
||||||
|
for move in input.split("\n")[::-1]:
|
||||||
|
move_type, move_band, move_size = move.replace(" ", "").split(",")
|
||||||
|
print(move_type, move_band, move_size)
|
||||||
|
move_band = int(move_band)
|
||||||
|
move_size = (-int(move_size))%bandelettes
|
||||||
|
|
||||||
|
if move_type == "h":
|
||||||
|
region1 = img.crop((width - move_size*bandelette_largeur, move_band*bandelette_largeur, width, (move_band+1)*bandelette_largeur))
|
||||||
|
region2 = img.crop((0, move_band*bandelette_largeur, width - move_size*bandelette_largeur, (move_band+1)*bandelette_largeur))
|
||||||
|
|
||||||
|
img.paste(region1, (0, move_band*bandelette_largeur))
|
||||||
|
img.paste(region2, (move_size*bandelette_largeur, move_band*bandelette_largeur))
|
||||||
|
else:
|
||||||
|
region1 = img.crop((move_band*bandelette_largeur, height - move_size*bandelette_largeur, (move_band+1)*bandelette_largeur, height))
|
||||||
|
region2 = img.crop((move_band*bandelette_largeur, 0, (move_band+1)*bandelette_largeur, height - move_size*bandelette_largeur))
|
||||||
|
|
||||||
|
img.paste(region1, (move_band*bandelette_largeur, 0))
|
||||||
|
img.paste(region2, (move_band*bandelette_largeur, move_size*bandelette_largeur))
|
||||||
|
|
||||||
|
img.show()
|
||||||
BIN
m-taquin-m.png
Normal file
BIN
m-taquin-m.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 280 KiB |
Reference in New Issue
Block a user