Foros - Stratos

Grafistas => General Grafistas => Mensaje iniciado por: AbelNightroad en 19 de Septiembre de 2006, 11:42:23 PM

Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 19 de Septiembre de 2006, 11:42:23 PM
¿Conoceis algun software (gratuito) que a partir de una imagen genere varias? Es para coger una imagen llena de "tiles" y generar una imagen (archivo) por cada "tile".

Perdon, si no me explico mejor.
Título: Varios Tiles a partir de una imagen
Publicado por: TheAzazel en 20 de Septiembre de 2006, 12:35:55 PM
Quizas el IrfanView lo haga (me suena que hacia algo de eso), tambien zupervaca tenia una herramienta tileadora pero quizas sea en el sentido inverso(muchas imagenes que une en una sola)...

Si no, seria muy facil un programita que lo hiciera, conoces SDL? en 10min lo puedes tener hecho :)
Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 20 de Septiembre de 2006, 11:39:54 PM
Me he instalado el InfarnView, y no le encuentro ninguna opcion, asi que me temo que no tiene nada. :(

Tambien me he mirado todo lo que tiene zupervaca en su web y nada.

Ya se que hacer un programita no seria dificil, pero si me puedo evitar el trabajo mejor que mejor, ultimamente no tengo tiempo "pa nah". Asi que sigo abierto a sugerencias.

De todos modos, si al final hago el programa, tendre en cuenta tu sugerencia de usar SDL, aunque por ahora solo lo he usado como base para openGL, para el input y para el sonido.
Título: Varios Tiles a partir de una imagen
Publicado por: Zaelsius en 21 de Septiembre de 2006, 12:17:40 AM
Para estas cosas Python es la pera. Este script copiado de http://blog.odonnell.nu/47.html debería hacer exactamente lo que quieres.

import Image
import sys

image = Image.open(sys.argv[1])
tile_width = int(sys.argv[2])
tile_height = int(sys.argv[3])
zoom_level = sys.argv[4]

if image.size[0] % tile_width == 0 and image.size[1] % tile_height ==0 :
currentx = 0
currenty = 0
while currenty < image.size[1]:
while currentx < image.size[0]:
print currentx,",",currenty
tile = image.crop((currentx,currenty,currentx + tile_width,currenty + tile_height))
tile.save("x" + str(currentx) + "y" + str(currenty) + "z" + zoom_level + ".png","PNG")
currentx += tile_width
currenty += tile_height
currentx = 0
else:
print "sorry your image does not fit neatly into",tile_width,"*",tile_height,"tiles"


Edit: cuidadín al reindentar las líneas..
Título: Varios Tiles a partir de una imagen
Publicado por: ethernet en 21 de Septiembre de 2006, 12:29:30 AM
Hace tiempo yo preparé un script, en python claro:
http://www.stratos-ad.com/forums/index.php?act=ST&f=14&t=4840&hl=tile&s=7cfd855a45e477b880c1d2dfa1c4d3bc


im = Image.open("imagen.jpg");
pixel_x = 128;
pixel_y = 128;
x,y = im.size;
xl = range(0,x,pixel_x);
yl = range(0,y,pixel_y);
for x in xl:
for y in yl:
print x,y;
im2 = im.crop((x,y,x+pixel_x,y+pixel_y));
im2.save("imagen-%d-%d.jpg"% (x,y));

Título: Varios Tiles a partir de una imagen
Publicado por: Zaelsius en 21 de Septiembre de 2006, 12:33:29 AM
Gracias Ethernet, resulta que el que posteado yo no me funcionaba debido a una línea mal indentada, que mandaba todo a tomar por saco xD
Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 21 de Septiembre de 2006, 12:55:27 AM
uooohhh... gracias chicos! mañana lo pruebo! :D
Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 21 de Septiembre de 2006, 03:00:11 PM
Va muy bien! :D

Una duda. ¿Como puedo convertir un numero a cadena con zeros a la izquierda para que las numere asi:

imagen-0001-0001.jpg
imagen-0001-0002.jpg
imagen-0001-0003.jpg
...

?
Título: Varios Tiles a partir de una imagen
Publicado por: donald en 21 de Septiembre de 2006, 03:09:58 PM
irfanview, su batch rename
Título: Varios Tiles a partir de una imagen
Publicado por: Zaelsius en 21 de Septiembre de 2006, 03:12:30 PM
http://docs.python.org/lib/typesseq-strings.html

Ejemplo:

Citar>>> print 'Imprimir %(numero)04d' % { 'numero' : 2 }

Imprimir 0002
Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 21 de Septiembre de 2006, 03:26:01 PM
gracias! va de fabula :D
no si al final, acabare usando el python este :P
Título: Varios Tiles a partir de una imagen
Publicado por: Jove Chiere en 21 de Septiembre de 2006, 05:13:09 PM
Te ubiera sido mas facil con photoshop y guardar para web... entonces simplemente as de definir los sectores y crear un modelo de exportacion con la generacion de imagenes que tu quieras y el tipo de compresion.

Parece muy complicado, pero es facil.

P.D: Coders...  8)
Título: Varios Tiles a partir de una imagen
Publicado por: ethernet en 21 de Septiembre de 2006, 07:47:15 PM
Cita de: AbelNightroadgracias! va de fabula :D
no si al final, acabare usando el python este :P

olé !
Título: Varios Tiles a partir de una imagen
Publicado por: [EX3] en 21 de Septiembre de 2006, 09:01:01 PM
Cita de: JoveTe ubiera sido mas facil con photoshop y guardar para web... entonces simplemente as de definir los sectores y crear un modelo de exportacion con la generacion de imagenes que tu quieras y el tipo de compresion.
Mira, esta no la sabia :D Me la apunto para probar esta noche que me vendra de perlas para unas pruebas de tiles que estoy realizando en mi proyecto.

Salu2...

P.D.: Nunca te acostaras sin aprender algo nuevo ;)
Título: Varios Tiles a partir de una imagen
Publicado por: AbelNightroad en 21 de Septiembre de 2006, 11:04:58 PM
Cita de: JoveP.D: Coders...  8)

:P