Truevision TGA

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 3 de octubre de 2018; las comprobaciones requieren 7 ediciones .
Truevision TGA
Extensión .tga, .tpic, o .vda_.vst.icb
tipo MIME imagen/x-targa e imagen/x-tga
Desarrollador Truevision [d] [1]
Tipo de formato gráficos de trama

Truevision TGA (TGA) es un formato de gráficos de trama . Creado originalmente por Truevision Inc. para adaptadores de gráficos de su propia producción en 1984 , pero luego se hizo popular en una variedad de plataformas, especialmente en el campo del procesamiento de video y la animación.

Por lo general, los archivos en este formato tienen la extensión .tga en sistemas DOS heredados o .tpic en computadoras Macintosh . El formato admite profundidades de color de 1 a 32 bits por píxel . Hay soporte para canales alfa , compresión RLE .

Descripción general de la estructura de archivos

Un archivo de imagen TGA consta de cinco zonas, cada una de las cuales contiene uno o más campos de longitud fija o variable:

Las últimas tres zonas se agregaron a la especificación de formato en septiembre de 1989. Por este motivo, es posible que los archivos creados con software escrito antes de esta fecha no contengan estas zonas. Para determinar si un archivo es la versión original o la nueva versión, lea los últimos 26 bytes del archivo. Para la nueva versión, estos bytes contendrán el pie de página del archivo, de los cuales los bytes 8-23 contienen el juego de caracteres ASCII "TRUEVISION-XFILE". La presencia de esta línea significa que el archivo puede contener zonas (3) y (4).

El sótano en sí tiene la siguiente estructura (byte - propósito):

Descripción más detallada al final del artículo.

Encabezado de archivo

Longitud del identificador (1 byte)

Especifica el número de bytes contenidos en el campo Identificador. El número máximo de caracteres es 255. Un valor de cero indica que el archivo no contiene un campo Identificador.

Tipo de mapa de color (1 byte)

Especifica el tipo de mapa de color incluido en el archivo. Por el momento (la descripción es de enero de 1991), se definen dos valores: 0 (el archivo no contiene un mapa de colores) y 1 (el archivo contiene un mapa de colores). Los primeros 128 valores de este campo están reservados para uso de Truevision, el resto puede ser utilizado por desarrolladores de software.

Las imágenes de color verdadero no suelen utilizar un mapa de colores, pero algunas aplicaciones almacenan información de la paleta u otros datos en este campo. Se recomienda verificar el valor del campo Tipo de imagen (descrito en el siguiente párrafo) para asegurarse de que el archivo pueda usar estos datos. De lo contrario, este campo puede ser ignorado.

Al escribir o guardar un archivo, por razones de compatibilidad, este campo debe llenarse con valores cero. En el nuevo formato de archivo, hay una zona separada para almacenar datos del desarrollador.

Tipo de imagen (1 byte)

El archivo TGA se puede utilizar para guardar imágenes con diferente profundidad de color. Se definen siete tipos de imágenes:

Sentido Descripción Mapa de colores usados Se utiliza la compresión
0 Sin imagen No No
una Imagen con paleta No
2 imagen en color verdadero No No
3 imagen monocromática No No
9 Imagen con paleta
diez imagen en color verdadero No
once imagen monocromática No

Los primeros 128 valores están reservados para el uso de Truevision, el resto puede ser utilizado por los desarrolladores.

Descripción del mapa de colores (5 bytes)

Este campo y sus subsecciones describen el mapa de colores (si se usa). Si el campo Tipo de mapa de colores (descrito anteriormente) contiene cero, estos cinco bytes también deben contener ceros.

Campo El tamaño Descripción
Índice del primer elemento 2 bytes Apunta al elemento inicial de la paleta.
Longitud de la tarjeta de color 2 bytes Especifica el número de elementos de la paleta.
Tamaño del elemento del mapa de colores 1 byte El número de bits por elemento de paleta. Los valores comúnmente utilizados son 15, 16, 24 o 32.

Descripción de la imagen (10 bytes)

Este campo describe las dimensiones, la posición de la pantalla y la profundidad de píxeles de la imagen.

Campo El tamaño Descripción
Posición X de la imagen 2 bytes Especifica la coordenada horizontal absoluta de la esquina inferior izquierda de la imagen.
Imagen Posición Y 2 bytes Especifica la coordenada vertical absoluta de la esquina inferior izquierda de la imagen.
ancho de la imagen 2 bytes El ancho de la imagen en píxeles.
Altura de imagen 2 bytes La altura de la imagen en píxeles.
Profundidad de bits de color 1 byte Especifica el número de bits por píxel a utilizar.
Descriptor de imagen 1 byte Los bits 3-0 de este campo determinan el número de bits del canal alfa.

Los bits 5 y 4 determinan el orden en que se transfieren los datos de píxeles del archivo a la pantalla. El bit 4 está configurado para el orden de derecha a izquierda, el bit 5 para el orden de arriba hacia abajo. Los bits 7 y 6 deben establecerse en 0 para compatibilidad.

Imagen/mapa de colores

Identificador (longitud variable)

Este campo es el identificador del archivo y puede tener una longitud de 0 a 255 bytes.

Datos del mapa de colores (longitud variable)

Si el tipo de mapa de color (descrito anteriormente) contiene cero, este campo se omitirá. Los campos Tamaño del elemento del mapa de colores y Longitud del mapa de colores le permiten definir el tamaño de este campo. Cada elemento del mapa de colores ocupa un número entero de bytes; cada canal de color ocupa MIN ( Tamaño de elemento del mapa de color /3, 8) bits, por lo que para un tamaño de elemento de 24, cada uno de los tres canales de color ocupará 8 bits, al igual que para los elementos de 32 bits.

Datos de la imagen (longitud variable)

Este campo contiene (ancho x alto) píxeles. Cada píxel especifica datos de imagen en uno de los siguientes formatos: un índice de elemento de mapa de color único, valores individuales para cada canal de color o índices de intensidad individuales para el formato de color directo.

Zona de desarrolladores (longitud variable)

Esta zona puede ser de cualquier tamaño y contener cualquier tipo de información a discreción del desarrollador del software, aunque se recomienda que se utilice únicamente para almacenar información específica no destinada al resto del software y no descrita en la especificación de formato. Dado que un archivo puede contener más de una zona de desarrollador, hay una lista de zonas que contiene un "mapa" de los campos incluidos en esas zonas. Los bytes 4 a 7 del pie de página del archivo contienen el desplazamiento desde el principio del archivo hasta el principio de la lista de zonas de desarrollo. Si estos bytes contienen un valor nulo, la lista de zonas y las zonas mismas no están en el archivo.

Lista de zonas de desarrolladores

Especifica el número de etiquetas contenidas en la lista. El resto de la lista después de este valor contiene secuencias de tamaño de desplazamiento de etiquetas.

Cada etiqueta puede contener un valor de 0 a 65535. Los desarrolladores pueden usar los valores 0-32767, el resto está reservado para el uso de Truevision.

Contiene un valor que especifica el desplazamiento desde el principio del archivo hasta el principio del campo al que hace referencia la etiqueta.

Especifica el tamaño del campo al que hace referencia la etiqueta.

Zona de Expansión

El desplazamiento de la Zona de expansión se almacena en el pie de página del archivo. Si el desplazamiento es cero, el archivo no contiene una zona de extensión.

Tamaño de la zona de extensión (2 bytes)

Contiene la longitud de la zona en bytes. Para la versión 2.0 del formato, este valor debe ser 495.

Nombre del autor (41 bytes)

Espacio para una cadena ASCII de hasta 40 caracteres y un byte nulo. Si un campo no se usa, se rellena con ceros o espacios. El último carácter siempre debe ser cero.

Comentario del autor (324 bytes)

Espacio para cuatro líneas, cada una de las cuales puede contener un byte nulo y hasta 80 caracteres significativos. El espacio no utilizado se llena con ceros o espacios, el byte 81 de cada línea debe ser cero.

Fecha y hora (12 bytes)

Este campo contiene una secuencia de seis valores de 2 bytes para la fecha y hora en que se guardó la imagen (mes-día-año-hora-minutos-segundos). Si este campo no se utiliza, se rellena con ceros.

Nombre/ID del trabajo (41 bytes)

Espacio para 40 caracteres ASCII y un byte nulo.

Tiempo de trabajo (6 bytes)

Similar al campo Fecha/Hora , un lugar para almacenar tres valores (hora-minuto-segundo).

ID de software (41 bytes)

Un lugar para la cadena de ID del software con el que se creó el archivo.

Versión de software (3 bytes)

El campo contiene dos componentes: un número de 2 bytes y un carácter ASCII. La ubicación para guardar la versión del software con el que se creó el archivo.

Color clave (4 bytes)

Un valor de 4 bytes que define el color clave del canal alfa en formato ARGB. Si la imagen no contiene un canal alfa, el valor del primer byte se establece en cero. El color clave define el color de fondo o "color transparente". Si el campo no se utiliza, se rellena con ceros.

Relación de aspecto de píxeles (4 bytes)

Contiene dos valores de 2 bytes que definen el ancho y alto de un píxel, respectivamente. Los valores iguales distintos de cero definen un píxel cuadrado, cero en el segundo valor significa que no se especifica una proporción.

Gamma (4 bytes)

Contiene dos valores de 2 bytes utilizados como numerador y denominador al calcular el valor gamma fraccionario. El resultado de la división debe estar entre 0 y 10,0 y debe tener un solo decimal. Cuando no se utiliza este campo, ambos valores deben ser iguales entre sí (para obtener 1,0 después de la división), o el segundo valor debe ser cero.

Compensación de corrección de color (4 bytes)

Contiene el desplazamiento en bytes desde el principio del archivo hasta la tabla de corrección. La tabla se puede colocar en cualquier lugar después del campo de datos de la imagen y antes del final del archivo. Si la imagen no requiere corrección, este valor es cero.

Compensación de sello postal (4 bytes)

Contiene un desplazamiento a una copia reducida de la imagen contenida en el archivo. La imagen se escribe entre la tabla de líneas de exploración (descrita a continuación) y el pie de página del archivo.

Compensación de línea de exploración (4 bytes)

Desplazamiento al comienzo de la tabla Scan Lines.

Tipo de atributo (1 byte)

Este valor especifica el tipo de datos del canal alfa guardados con la imagen.

Un ejemplo de un canal alfa premultiplicado. Los datos del canal alfa se usan para indicar el grado de opacidad de cada píxel (usado cuando una imagen se superpone a otra imagen), donde 0 indica que el píxel es completamente transparente y un valor de 1 indica que el píxel es completamente opaco (suponiendo que todos los valores de los componentes están normalizados). Un cuadrete de números (a, r, g, b) con valores (0,5, 1, 0, 0) indicará que el píxel es rojo puro con una transparencia de 0,5. Por varias razones (incluida la creación de imágenes compuestas), es mejor premultiplicar los componentes de color individuales por el valor del canal alfa. Esta multiplicación dará los siguientes cuatro números (0.5, 0.5, 0, 0).

Un valor de 4 en el campo Tipo de atributo (campo 24) indicará que los componentes de color del píxel ya están escalados por el valor del canal alfa. Para obtener detalles sobre los valores premultiplicados, consulte las actas de la conferencia SIGGRAPH 1984.

Tabla de líneas de exploración

La tabla debe contener un conjunto de compensaciones en bytes desde el comienzo del archivo hasta el comienzo de las líneas de escaneo, en el orden apropiado (por ejemplo, de arriba a abajo/de abajo a arriba).

Sello postal de la imagen

Una copia reducida de la imagen contenida en el archivo. Guardado en el mismo formato que el tamaño completo, pero sin el uso de métodos de compresión. El primer byte contiene el ancho de la copia en píxeles, el segundo la altura. Truevision no recomienda utilizar imágenes de más de 64x64 píxeles.

Tabla de corrección de color (2 KB)

La tabla contiene 256x4 valores de 2 bytes, cada secuencia de cuatro de estos valores corresponde a canales ARGB.

Bodega

El penúltimo carácter de la firma debe ser un carácter "." (punto), de lo contrario, el archivo no se reconocerá como un archivo TGA válido.

No se requiere que el desarrollador lea, escriba o use extensiones o zonas de desarrollador, pero incluso cuando no se usan, se recomienda incluir Pie de página en el archivo y especificar ceros como compensaciones para las zonas no utilizadas.

Notas

  1. http://www.digitalpreservation.gov/formats/fdd/fdd000179.shtml

Enlaces