Funciona como?
# -*- coding: cp1252 -*-
import glob
import os
from PIL import Image
# Altere aqui as principais variaveis
#O caminho da pasta de tileset
caminhoPasta = ".\\Tiles Separados"
#Tamanho do tile em x
tamTileCol = 64
#Tamanho do tile em y
tamTileLin = 64
#Nome do tileset
nomeArquivo = "tilesetCompleto.png"
img = Image.open('.//'+nomeArquivo)
img = img.convert("RGBA")
print "Abri o tileset para ser fatiado"
pixdata = img.load()
print "Os tiles teram o tamanho de :"+ str(tamTileLin)+ " , " + str(tamTileCol)
print "O tamanho do tileset é de :" + str(img.size[0]) + " por " + str(img.size[1])
nTilesLinha = img.size[0]/tamTileCol
nTilesColuna = img.size[1]/tamTileLin
print "Portanto terei que fatiar " + str(nTilesLinha) + " por linha e " + str(nTilesColuna) + " por coluna"
totalTiles = nTilesLinha * nTilesColuna
print "O total de tiles será "+ str(totalTiles)
#Vai até a pasta dos tiles
os.chdir(caminhoPasta)
i = 0
#Faz a gambiarra pra ter uma imagem do tamanho necessario
img = Image.open('..\\pix.png')
img = img.convert("RGBA")
#print("Vou dar resize na imagem do tileset")
for i in range(0,totalTiles):
print "Vou trabalhar no tile : " + str(i)
tile = img.resize((tamTileLin, tamTileCol),Image.ANTIALIAS)
#damos bind da imagem para a variável pixdata do tile
tilePixData = tile.load()
linhaIni = (i/nTilesLinha)*tamTileLin
colunaIni = i % nTilesLinha *tamTileCol
for y in xrange(tile.size[1]):
for x in xrange(tile.size[0]):
tilePixData[x,y] = pixdata[colunaIni+x,linhaIni+y]
#print str(y) + " , "+ str(x)
print "Estou salvando este tile"
tile.save("tile"+str(i)+".png")
print "Terminei de fatiar tudo"
Se quiser baixar, você encontra aqui:
0 comentários:
Postar um comentário