2009-08-31 16 views
9

Para el desarrollo de software, a menudo se necesitan imágenes. Pero cuando comienzo a trabajar en una imagen que muy rápido terminan con decenas de versiones, al igual queCómo manejar imágenes durante el desarrollo del software

  • imagen Comienzo de una escala grande y bonito con, digamos una foto de mi cámara (x.nef)
  • I haga algunos ajustes en la corrección de la exposición y el balance de blancos, conviértalo en x.jpg
  • empiece a agregar algunas cosas pequeñas copiando en varias piezas de otras dos imágenes. (A.jpg, b.jpg lo que resulta en una imagen con capas x.pdn
  • ahora escalarla al tamaño requerido y guardarlo como x_small.jpg

Por ahora tengo 6 archivos de imágenes diferentes que flotan alrededor y nadie más que yo sabe el proceso detrás de ellos

Así que la pregunta es:.? ¿Cómo se manejan las imágenes en el proceso de desarrollo

Editar:. Thx por toda la gran entrada de combiné varias preguntas a mi propia mejor respuesta personal. Pero acepté la respuesta de jiinx0r porque realmente contenía la idea que faltaba para para aplicar una convención de nombres para el tipo de cambios realizados.

+0

Realmente no veo esto como una pregunta de programación, lo siento. Votado para cerrar. Le sugiero que pregunte esto en DocType o Super User, según las preguntas frecuentes de SO. –

+0

No está escribiendo código, pero es algo que surge en el proceso de desarrollo cuando trabajas en sitios web. Ciertamente he estado allí. –

+0

Al escribir juegos, la obra de arte es la pieza más importante de tu código. –

Respuesta

4

La asignación de nombres de archivos debe realizarse a través de una convención de nomenclatura.

{name}-{mod type}-{size}-{version}-{create date}.png 
{name}-final.png 

e.g. 
file-white_balance-800x600-v01-20090831.png 
file-white_balance-800x600-v02-20090831.png 
file-final.jpg 

el verdadero punto es crear una convención de acuerdo en que la gente ve el valor en el seguimiento de (por simple/compleja es necesaria para su grupo). En mi organización hacemos esto para los archivos de datos de entrada/salida, imágenes, scripts, etc. (no es la misma convención necesariamente para todos, pero siguen algo que estuvo de acuerdo)

Espero que ayude.

+0

Es triste, ¿verdad? El sistema de archivos VAX tenía múltiples versiones por archivo, el mainframe podía hacerlo. Windows y Linux no pueden. Apple lo vende como "nueva característica". Hay tantos formatos de archivo que podrían beneficiarse realmente de un sistema de archivos que automáticamente versiona los archivos ... :( –

1

Normalmente tenemos el título de la imagen y la resolución adjuntas en el nombre.

myimage_800_600.png 

esta manera todas las imágenes como se agrupan juntos en la vista de carpetas y se puede seleccionar fácilmente el tamaño que desee sin tener que andar lo que significa "medio".

6

Podrías poner tus imágenes bajo control de fuente.

Eso manejaría el historial de revisión y las notas. Si realmente necesita mantener todas las versiones de transición de la imagen y no quiere eso en la carpeta del proyecto, la mayoría de los árboles de control de origen tienen un área de 'herramientas' para ese tipo de cosas.

EDIT: Si lo que estás después es hacer el seguimiento de los distintos tamaños (miniaturas, etc), me gustaría ir con convención sobre configuración y ejecutar un archivo uniforme (o directorio) de denominación del sistema.

Por ejemplo, probablemente tendría carpetas separadas para las versiones de 100px y 500px de la misma imagen. O tal vez los pondría en la misma carpeta con una convención de nombres especial: logo-100.jpg y logo-500.jpg ... De cualquier manera, probablemente esté bien, solo tome una decisión y asegúrese de mantenerse constante durante todo el proyecto. .

Una última idea: a algunas personas les gusta incluir una tonelada de metadatos en el nombre del archivo. Para mí, depende del alcance de su operación y sus necesidades individuales. Personalmente prefiero un enfoque de menos es más: si estás pensando en invertir para mantener algo así (o crear una herramienta que lo haga por ti), asegúrate de que sea una ganancia neta de tiempo y no solo algo para tu OCD para filddle con!

Como desarrolladores, tendemos a cometer errores flagrantes en esta área. Sé que he sido culpable un montón de veces.

+1

No creo que funcione si necesita la misma imagen pero diferentes tamaños en toda la aplicación (miniaturas, por ejemplo) –

+0

Buena idea, agregué una edición para eso en caso de que eso sea lo que él está buscando. –

3

Intento tener solo una única imagen de "fuente" y luego verter todos los cambios en una secuencia de comandos de Python corta o algún otro fragmento de código para poder recrear los efectos y/o ajustarlos en cualquier momento posterior.

La imagen original se guarda como PNG o TIFF (para evitar pérdidas de calidad debidas al guardado) y se convierte en el tipo final como el último paso. Ese también es el momento cuando hago la escala y otras operaciones con pérdidas.

+0

¿usa python para "control remoto" un programa de manipulación de imágenes? ¿O usa python para hacer la manipulación de la imagen? –

+0

Estoy usando PIL (biblioteca de imágenes de Pyhon). –

2

Desarrollamos un juego descargable y un juego web con unos cientos de recursos gráficos, la mayoría de los cuales se almacenaron como archivos psd durante el desarrollo. Necesitábamos las versiones jpg y png para la versión de lanzamiento del juego y las versiones jpg y png de menor calidad para la versión web.

Comprobamos los originales en el control de fuente para gestionar el control de versiones.

Para seguir siendo flexibles y poder modificar el original sin tener que volver a empacar la imagen dos veces después de cada actualización, teníamos un script Perl/ImageMagick que actualizaría automáticamente las imágenes empaquetadas.

El nombre del archivo seguía siendo el mismo, pero las imágenes comprimidas iban a diferentes directorios, dependiendo de la versión del juego para el que se empaquetaba cada imagen.

1

Estoy de acuerdo en que el control de la fuente puede ser su mejor apuesta para esto. Sin embargo, el control de fuente convencional en realidad no se ajusta a las imágenes.

¿Has mirado http://www.alienbrain.com?

Es comercial, pero puede ser algo que podría ayudar. También estaba mirando y vi algo sobre Photoshop o Imageready teniendo control de versiones también. Podrías investigar eso.

+0

Es bueno saber que hay herramientas para ayudar con esto, aunque es demasiado caro para el uso que estoy considerando. –

0

puse todas las partes y piezas de las distintas respuestas, para un sistema que se adapte a mis necesidades:

  1. Imágenes entrar en control de código fuente. Esto incluye imágenes o pasos intermedios.
  2. Si se necesitan varias imágenes basadas en una imagen fuente, pero con diferentes transformaciones, esto se puede integrar en construcciones automáticas (escalado, compresión, polarización)
  3. Según una convención de nomenclatura o estructura de carpetas, los archivos se pueden clasificar en: fuente (por ejemplo, foto original), intermedio (para los diversos pasos de procesamiento), base (una imagen que se usa en el software o posible después del procesamiento automático como en el paso 2)
  4. Para los pasos de procesamiento, una convención de nomenclatura debe garantizar que el tipo de procesamiento puede ser reconocido, y también el orden de los pasos. Entonces, uno podría pasar de la imagen de origen a través de los diversos pasos de procesamiento a la imagen final.
Cuestiones relacionadas