Los archivos de fotos de AutoCAD son imágenes de la pantalla creadas mediante el comando SACAFOTO que se pueden leer mediante el comando MIRAFOTO. En esta sección se describe el formato de los archivos de fotos para que los desarrolladores puedan incorporar en sus programas el soporte necesario para las fotos.
Los archivos de fotos se componen de un encabezamiento (de 31 bytes) y uno o más registros de datos de longitud variable. Todas las coordenadas y tamaños contenidos en el archivo de foto reflejan el área de dibujo del dispositivo de visualización desde el que se ha creado dicha foto, con el punto (0,0) situado en la esquina inferior izquierda del área de dibujo. En AutoCAD Release 9 y versiones posteriores, el encabezamiento de los archivos de fotos consta de los campos siguientes:
|
Encabezamiento del archivo de foto |
||
|---|---|---|
|
Campo |
Bytes |
Descripción |
|
Cadena de ID |
17 |
“Foto de AutoCAD” CR LF ^Z NUL |
|
Indicador de tipo |
1 |
Establecido actualmente en 56 (decimal) |
|
Indicador de nivel |
1 |
Establecido actualmente en 2 |
|
Punto X máximo |
2 |
Anchura del área de gráficos: 1, en píxeles |
|
Punto Y máximo |
2 |
Altura del área de gráficos: 1, en píxeles |
|
Relación anchura/altura |
4 |
Relación anchura/altura del área del dibujo (tamaño horizontal/tamaño vertical en pulgadas), con escala de 10,000,000. Este valor siempre se escribe con el byte menos significativo primero |
|
Relleno duro |
2 |
Puede ser 0 o 2 (el valor carece de importancia) |
|
Número de prueba |
2 |
Un número (1234 hexadecimal) utilizado para determinar si todos los valores de 2 bytes de la foto se han escrito con el byte más significativo en primer lugar (CPU de la familia Intel 8086) o con el byte menos significativo en primer lugar (CPU de la familia Motorola 68000). |
Los registros de datos siguen al encabezamiento. Cada registro de datos comienza con un campo de 2 bytes cuyo byte más significativo es el tipo de registro. El resto del registro puede estar formado por campos de 1 o 2 bytes tal y como se describe en la tabla siguiente. Para determinar si los campos de 2 bytes se escriben en primer lugar con el byte más significativo o con el byte menos significativo, examine el campo Número de prueba del encabezamiento descrito en la tabla anterior.
|
Registros de datos del archivo de foto |
|||
|---|---|---|---|
|
Tipo de registro (hex) |
Bytes |
Significado |
Descripción |
|
00-7F |
8 |
Vector |
Coordenada desde-X de un vector ordinario. Le siguen desde-Y, hasta-X y hasta-Y (en ese orden) como valores de 2 bytes. El punto desde- se guarda como último punto. |
|
80-FA |
— |
No definido |
Reservado para su posterior utilización |
|
FB |
5 |
Vector de desfase |
El byte menos significativo y los tres bytes siguientes especifican los puntos finales (desde-X, desde-Y, hasta-X y hasta-Y) de un vector en términos de desfase (–128 a +127) desde el último punto almacenado. El punto desde- ajustado se guarda como último punto para su utilización con los vectores subsiguientes. |
|
FC |
2 |
Fin de archivo |
El byte menos significativo es 00 |
|
FD |
6 |
Relleno sólido |
El byte menos significativo siempre es cero. Los dos valores de 2 bytes siguientes especifican las coordenadas X e Y de un vértice de un polígono que se debe rellenar con relleno sólido. A continuación sigue una secuencia de entre tres y diez registros de este tipo. Un registro de relleno sólido cuya coordenada Y es negativa indica el comienzo o el fin de dicha secuencia. En el registro inicial, la coordenada X indica el número de registros de vértice que siguen. |
|
FE |
3 |
Vector común punto final final |
Se trata de un vector que comienza en el último punto. El byte menos significativo y el siguiente especifican los valores hasta-X y hasta-Y en términos de desfase (–128 a +127) desde el último punto almacenado. El punto hasta- ajustado se guarda como último punto para su utilización con los vectores subsiguientes. |
|
FF |
2 |
Nuevo color |
Los vectores siguientes deben dibujarse utilizando el número del color indicado por el byte menos significativo |
Si alguna foto contiene vectores, el primer registro de datos será el de Nuevo color. El orden de los vectores de una foto y el de los puntos finales de dichos vectores puede variar.
El ejemplo siguiente es un volcado con notación hexadecimal de un archivo de foto sencillo creado en un equipo PC/AT de IBM equipado con un adaptador de gráficos acelerado (EGA) de IBM. La foto está formada por una línea diagonal blanca que se extiende desde la esquina inferior izquierda a la esquina superior derecha del área de dibujo, una línea vertical verde cercana a la esquina inferior izquierda y un pequeño rectángulo rojo situado en la esquina inferior izquierda.
41 75 74 6F 43 41ID string (“AutoCAD Slide” CR LF ^Z NUL)44 20 53 6C 69 64 65 0D 0A 1A 00 56Type indicator (56)02Level indicator (2)3C 02High X dot (572)24 01High Y dot (292)0B 80 DF 00Aspect ratio (14,647,307 / 10,000,000 = 1.46)02 00Hardware fill (2)34 12Test number (1234 hex)07 FFNew color (7 = white)3C 02 24 01 00 00 00 00Vector from 572,292 to 0,0. 572,292 becomes “last”point3 FFNew color (3 = green)0F 00 32 00 0F 00 13 00Vector from 15,50 to 15,19. \x1115,50 becomes“last” point01 FFNew color (1 = red)12 FB E7 12 CEOffset vector from 15+18,50-25 (33,25) to 15+18,50-50 (33,0). 33,25 becomes “last” pointDF FE 00Common-endpoint vector from 33,25 to 33-33,25+0(0,25). 0,25 becomes “last” point00 FE E7Common-endpoint vector from (0,25) to 0+0,25-25(0,0). 0,0 becomes “last” point21 FE 00Common-endpoint vector from (0,0) to 0+33,0+0(33,0).33,0 becomes “last” point00 FCEnd of file