2010-11-17 8 views
8

¿Hay algún algoritmo para la organización de una gran cantidad de pequeñas imágenes con diferentes dimensiones y agruparlos en una más grande? ¿Alguien tiene alguna idea de dónde debería empezar a investigar?grupo grande conjunto de imágenes


EDIT: Básicamente quiero hacer algo como esto http://www.google.ro/images/srpr/nav_logo27.png en PHP. Realmente no estoy esperando tanta complejidad. Voy a usar la imagen como un sprite CSS, si hace alguna diferencia.

+0

¿Quieres utilizar la imagen resultante como un sprite CSS? – c0rnh0li0

+0

Si es solo una vez, no necesita algoritmo. Hay muchos programas sprites de CSS. – Ross

+1

incluso si se utiliza un enfoque bastante ineficiente (de modo que se crea una imagen con dimensiones más grandes) que no debería realmente importa mucho; la mayor parte del espacio desperdiciado será del mismo color y se comprimirá bien, por lo que el tamaño total de la imagen no será mucho mayor. Utilice el almacenamiento en memoria caché del lado del cliente y solo descargarán la imagen una vez ... así que no pierda demasiado tiempo en este problema. –

Respuesta

1

El uso de un algoritmo de optimización podría ser una exageración para su problema. La codificación de un algoritmo de optimización requerirá mucho estudio previo. Incluso la implementación de una biblioteca preparada podría ser un gran problema para abordar.

Puede idear un heurístico, en solitario:
Utilizar anchura y la altura de la imagen grande como su entrada.
pensar en él como si llenar cada fila y continuar a la siguiente fila una vez que la fila está llena. Y comience a insertar imágenes una por una.

Si utiliza un algoritmo de la imagen final será más optimizado. De menor tamaño Pero la diferencia no sería muy diferente si las imágenes no varían mucho en dimensiones.

Si sus dimensiones de imagen varían un poco, ordenarlos según su dimensión más variable (ya sea ancho o altura). Luego comience a insertar las imágenes en ese orden.

0

creo que esto se llama mosaic, para que pueda empezar a mirar esto

Cuestiones relacionadas