Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Varios Tiles a partir de una imagen

Iniciado por AbelNightroad, 19 de Septiembre de 2006, 11:42:23 PM

« anterior - próximo »

AbelNightroad

¿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.
bel Nightroad (a.k.a. Lord Trancos)

TheAzazel

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 :)

AbelNightroad

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.
bel Nightroad (a.k.a. Lord Trancos)

Zaelsius

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..

ethernet

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));


Zaelsius

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

AbelNightroad

uooohhh... gracias chicos! mañana lo pruebo! :D
bel Nightroad (a.k.a. Lord Trancos)

AbelNightroad

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
...

?
bel Nightroad (a.k.a. Lord Trancos)

donald

Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

Zaelsius

http://docs.python.org/lib/typesseq-strings.html

Ejemplo:

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

Imprimir 0002

AbelNightroad

gracias! va de fabula :D
no si al final, acabare usando el python este :P
bel Nightroad (a.k.a. Lord Trancos)

Jove Chiere

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)
Los grafosyakuza recomiendan Wings3D - Entra en GIMOVJ  y aprende a modelar.

ethernet

Cita de: "AbelNightroad"gracias! va de fabula :D
no si al final, acabare usando el python este :P

olé !

[EX3]

Cita de: "Jove"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.
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 ;)
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

AbelNightroad

bel Nightroad (a.k.a. Lord Trancos)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.