Есть код на Python который из текстуры с модельками кораблей вырезает по отдельности каждый корабль и вставляет их на черный фон.
from PIL import Image
bg = Image.open('Background.png')
ships = Image.open('Ships.png')
x = 127
y = 75
x_ship = 0
y_ship = 0
for i in range(3):
for j in range(3):
x_ship = 0
for k in range(20):
ship = ships.crop((x_ship, y_ship, x_ship+x, y_ship+y))
out_image = bg
out_image.paste(ship, None, ship)
out_image.save('ships/I'+str(i)+'J'+str(j)+'K'+str(k)+'_ico.png', 'PNG')
x_ship += x
y_ship += y
bg.show()
Проблема в том что каким-то образом в переменную
bg заноситься ссылка на объект конечного изображения.
Получается что каждое последующие изображение накладывается на предыдущие.
Поясните такое поведение.
Первое полученное изображение:
Вот шестое:
А вот 180 (bg.show() выдает именно такую картинку):
Пока проблему решил заменой bg на bg.crop()
out_image = bg
out_image = bg.crop()