Módulo 7- Imágenes
.Uno de los elementos que más ha contribuido a la enorme popularidad con la que hoy cuenta el WWW es la utilización de recursos multimedia, es decir, elementos tomados de medios distintos al texto convencional que se utilizaba como base en las primeras herramientas basadas en Internet(Gopher, Telnet, etc.). Estos recursos pueden ser de distintos tipo: Sonido, Imágenes estáticas, Imágenes en movimiento, Gráficos animados, Gráficos de alta resolución, Videoconferencia, etc.
De todos ellos, sin duda el más extendido en su uso, y el más fácil de incorporar a nuestras páginas, son las imágenes estáticas, a las que a partir de este momento nos referiremos simplemente como imágenes.
El uso de imágenes dentro de una página Web puede tener diferentes objetivos: hacerla más atractiva, incorporar información, facilitar el acceso (especialmente mediante la incorporación de iconos que ayuden a los usuarios de diferentes lenguas). Las imágenes pueden además utilizarse como fondos para nuestras páginas o como elementos activos en los enlaces hipertexto, permitiendo acceder a otros recursos simplemente haciendo clic en una imagen determinada o en una parte de dicha imagen (mapas activos, los cuales se explicarán detalladamente más adelante).
Los navegadores actualmente más extendidos soportan únicamente dos formatos de imágenes, los denominados GIF (extensión .gif)y JPEG (extensión .jpg o .jpe). Estos formatos tienen características, aplicaciones y funciones claramente diferentes, y es interesante conocerlas de cara a utilizarlos de forma más eficaz.
GIF y JPEG son en realidad formatos de compresión de imágenes (la imagen es guardada de forma que ocupa menos espacio del que ocuparía si lo guardásemos en formato PICT o BMP por ejemplo). Esto es importante a la hora de enviar y recibir ficheros gráficos a través de la red, pues tamaños más pequeños significan tiempos de transferencia más cortos, y por lo tanto un menor consumo de recursos (ancho de banda) de la red.
Para conseguir unos niveles de compresión aceptables, cada uno de los formatos emplea una tecnología distinta, y gran parte de las ventajas e inconvenientes de cada uno de ellos derivan de estos métodos de compresión. A continuación vamos a ver brevemente cada uno de estos formatos, resaltando sus respectivas ventajas, inconvenientes, y su utilidad
Para el usuario normal, las imágenes en formato GIF o JPEG son totalmente indistinguibles entre sí. La imagen superior se encuentra en formato GIF, mientras que la de la abajo es una imagen JPEG.
Formatos:
A- Formato JPEG/JFIF
B- Formato GIF
C- Aplicaciones de ambos formatos
e) GIFs entrelazados: f) Definición de colores transparentes: La imagen de la izquierda es un GIF normal. En la de la derecha se ha definido el color de fondo como transparente. La incorporación de imágenes a un documento HTML no es especialmente complicada si utilizamos un editor de modo gráfico como Netscape Composer, pero tampoco lo es si trabajamos con códigos. Veamos como se hace. Como hemos visto, las imágenes, independientemente de que sean GIFs o JPGs, se codifican en HTML por medio de una única etiqueta: <IMG SRC> (Image Source). Esta etiqueta soporta muchos atributos (como veremos más adelante) que nos permiten redimensionar las imágenes, alinearlas y establecer el margen entre la imagen y el texto que la rodea. Sin embargo, la estructura más simple de una etiqueta de este tipo es como sigue. <IMG SRCA-Formato JPEG/JFIF.
a) Ventajas:
- Algoritmos de compresión muy eficaces.
- Eficacia especialmente alta en la compresión de imágenes de tono continuo.
- Control del nivel de compresión (y por lo tanto de la calidad de la imagen).
- Codificación de la imagen a 16,7 millones de colores.
- Especificación de formato de dominio público.
- Posibilidad de crear JPEG.
- Algunos navegadores no son capaces de manejarlo directamente.
- El formato JPEG progresivo no es soportado por la mayor parte de las aplicaciones.b) Aplicaciones:
El formato JPEG (y el JFIF, mucho menos utilizado, pero muy relacionado) fue desarrollado para obtener relaciones de compresión (tamaño del archivo original/tamaño del archivo comprimido) muy altas. Para lograrlo, el algoritmo de compresión elimina parte de la información correspondiente al color. Como resultado de esto, al descomprimir la imagen, la calidad es siempre ligeramente inferior al original, ya que la información de color no puede recuperarse en un cien por cien (formato de compresión con perdidas).Para minimizar esto, JPEG permite controlar el nivel de compresión, y por lo tanto la calidad de la imagen resultante (cuanto menor sea la relación de compresión, menos pérdida de calidad sufrirá la imagen). A relaciones de compresión bajas (10-25%), la pérdida de calidad es prácticamente despreciable.
Los algoritmos de compresión del formato JPEG son especialmente eficaces cuando se usan sobre imágenes de tono continuo (es decir, aquellas en las que los pixeles situados entre dos pixeles cualquiera, tienen valores de tono y/o luminosidad diferentes a cualquiera de ellos), como la mayor parte de las fotografías. Además el formato JPEG permite almacenar imágenes usando paletas de 16,7 millones de colores, lo que compensa sobradamente cualquier perdida de calidad resultante de la compresión, al reproducir de forma más fiel los tonos de la imagen original.
c) JPEG Y JPEG progresivo:
En realidad, existen dos formatos JPEG, denominados "JPEG" y "JPEG progresivo". El JPEG progresivo es idéntico al JPEG normal, excepto que es posible crear ficheros "entrelazados" (aquellos en los que la imagen en lugar de leerse secuencialmente, empezando por la primera línea y terminando por la última, las líneas son interpretadas de forma alterna). Esto permite que desde un primer momento la imagen sea visible en su totalidad en nuestra pantalla, para luego ir mejorando su resolución.Sin embargo, a diferencia de los GIF entrelazados, que son bastante comunes, el JPEG progresivo no ha sido ampliamente aceptado, y la mayoría de los navegadores (y de las aplicaciones de edición gráfica) no los soportan, por lo que su utilización en la red es bastante limitada.
B-Formato GIF.
a) Ventajas:
- Compresión sin pérdidas.
- Algoritmos de compresión muy eficaces en imágenes de tonos planos.
- Posibilidad de crear GIFs entrelazados.
- Posibilidad de crear GIFs animados.
- Posibilidad de asignar un color como transparente.b) Inconvenientes:
- No demasiado eficaz en imágenes de tono continuo.
- Capaz de manejar solo 256 colores.
- Formato propietario.c) Características:
El formato GIF (Graphic Interchange Format) fue desarrollado por la empresa norteamericana Compuserve como formato de intercambio gráfico para su red, pero su uso se ha extendido rápidamente.En realidad hay dos formatos GIF, denominados 87a y 89a. Este último presenta grandes ventajas, como una compresión más eficaz, y la posibilidad de crear archivos entrelazados o animados.
A diferencia de JPEG, los algoritmos de compresión de GIF buscan en la imagen aquellas áreas donde los valores de tono y luminosidad de los pixeles sean idénticos, eliminando las repeticiones para reducir el tamaño del archivo resultante. Esto permite obtener unas relaciones de compresión muy buenas en imágenes de tonos planos, sin que además la imagen sufra degradación como sucede en JPEG.
Sin embargo las relaciones de compresión en GIF no son, con mucho, tan altas como las logradas en JPEG, especialmente en imágenes de tono continuo, donde GIF se muestra como un formato muy poco eficiente. Además GIF presenta otros inconvenientes:
- En primer lugar sólo es capaz de manejar 256 colores en modo de color indexado, muchos menos que los 16,7 millones que utiliza JPEG; si la imagen usa más de 256 colores, o si estos no se corresponden con los de la paleta en uso, los algoritmos "corregirán" estas diferencias aproximando los colores de la imagen a los de la paleta. El resultado es que los tonos de la imagen almacenada en formato GIF pueden diferir notablemente de los de la imagen original.
- Además, a diferencia de JPEG, GIF no es un formato de dominio público, sino que es propiedad de Compuserve Inc., que si bien actualmente permite la utilización pública de este formato, podría teóricamente prohibir (o restringir) su uso en cualquier momento.
Por otra parte, GIF también ofrece importantes ventajas. Aparte de la no degradación de la imagen ya comentada, hay otras características que hacen de GIF un formato extraordinariamente útil: la posibilidad de crear GIFs animados, entrelazados, y la posibilidad de definir un color como transparente.
d) GIFs animados:
En la especificación del formato GIF 89a se incluye la posibilidad de crear ficheros formados por una sucesión de imágenes en formato GIF, empaquetadas de tal forma que al ser leídos por el navegador aparecen en pantalla como imágenes animadas. Este tipo de archivos animados se ha hecho muy popular en el Web, utilizándose para incluir en las páginas esferas o botones pulsantes, iconos y barras en movimiento, etc.La imagen que aparece debajo es un GIF animado, en el que además se ha definido un color de fondo (en este caso el negro) como transparente. Esto permite a la imagen aparecer sobre el fondo conservando sus contornos irregulares, en lugar de aparecer como una imagen rectangular con un fondo negro.
El loop (repetición) ha sido definido como infinito.
Para crear este tipo de archivos animados es preciso primero crear cada uno de los "fotogramas" por separado, para luego "montarlos" utilizando una aplicación específica. Este tipo de aplicaciones (como por ejemplo GifBuilder (Macintosh), GIF Construction Set (Win 3.1) o Whirl GIF (UNIX)) tienen un funcionamiento muy semejante. Permiten montar cada uno de los "fotogramas", asignándoles una posición y una duración, hasta construir la secuencia completa, a la que se le puede asignar un tiempo de retardo, y un número de repeticiones (de 1 a infinito), y posteriormente guardarlos en formato GIF 89a, que podremos insertar en nuestras páginas como si de cualquier imagen convencional se tratara.
Dentro del formato GIF 89a es posible crear archivos "entrelazados" a partir de cualquier imagen. En un archivo normal, las líneas que forman la imagen se almacenan de forma ordenada (1,2,3,4,5...), y la imagen se construye de arriba hacia abajo; por el contrario, en un archivo entrelazado este orden se encuentra alterado, guardándose las líneas de forma alterna (por ejemplo: 1,5,9,13...2,6,10,14...3,7,11,15...etc.). De este modo, al leerse la imagen, ésta se aparece en la pantalla de forma completa desde el primer momento, aunque con una definición muy baja, y posteriormente va ganando en definición hasta que la imagen completa queda construida. Prácticamente todos los programas capaces de exportar imágenes en formato GIF, ofrecen la opción de crear GIFs entrelazados.
Una de las características más interesantes del formato GIF 89a es la posibilidad de seccionar un color de la imagen y definirlo como transparente. Este color puede ser cualquiera, pero sólo uno por imagen. Al cargarse esta imagen en el navegador, las áreas ocupadas por el color definido como transparente no aparecerán en la pantalla, permitiendo ver el fondo a través de ellas. Esto es especialmente útil a la hora de crear elementos gráficos (bolas, botones, barras, etc.) de forma irregular (no rectangulares) para nuestras paginas Web. Además, es también posible definir áreas transparentes en los GIFs animados.
C-Aplicaciones de ambos formatos.
Como hemos visto hasta ahora, ambos formatos, GIF y JPEG tienen características propias, así como ventajas e inconvenientes, que los hacen especialmente adecuados para funciones determinadas, y en cierto modo son complementarios.
GIF es especialmente adecuado para almacenar imágenes de tamaño medio o pequeño, especialmente si son de tonos planos. Es el mejor formato para los elementos de las paginas Web (que suelen ser de tamaño pequeño), tanto estáticos como animados.
JPEG es el más adecuado para almacenar imágenes de tamaño medio o grande, o para fondos de páginas que precisen de una mejor definición del color, y es el mejor formato para las imágenes de tono continuo, independientemente del tamaño.
3-Incorporación de imágenes a las páginas HTML.
<IMG SRC
="imagen.jpg">o <IMG SRC="imagen.jpe">(para formato JPEG).Donde "imagen" representa el nombre del archivo que queremos cargar en el documento.
ADVERTENCIAS Y RECOMENDACIONES:
a) Los archivos GIF entrelazados o animados así como los JPEG progresivos se cargan usando exactamente la misma estructura. No es necesario introducir en la etiqueta
<IMG SRC> información adicional alguna, con relación a este tipo de formatos.b) Los archivos JPEG progresivos son especialmente problemáticos. Mientras que prácticamente todo tipo de aplicaciones y navegadores son capaces de reconocer y cargar archivos de tipo GIF entrelazado, sólo algunas pueden trabajar con JPEG progresivo. Por lo tanto es conveniente evitar el uso de estos archivos, al menos mientras su uso no se generalice. Pueden substituirse por archivos de tipo JPEG normal, o si se hace imprescindible el uso de archivos entrelazados, por GIFs.
c) Es fundamental que los archivos tengan la extensión correcta (.gif para archivos GIF (incluidos GIFs entrelazados o animados), jpg o .jpe para archivos JPG (incluidos JPG progresivos),en caso contrario la imagen no se cargará correctamente.
Las imágenes pueden cargarse en cualquier parte del cuerpo (BODY) de una página, incluyendo dentro de una lista, en las celdas de una tabla, etc.
Puede darse el caso de que las imágenes que queramos incluir dentro de un documento HTML sean demasiado grandes o demasiado pequeñas para nuestros propósitos. Por suerte la especificación HTML nos da la posibilidad de cambiar las dimensiones de las imágenes en el momento de cargarlas en el documento. Esto es lo que comúnmente se denomina redimensionado de imágenes. Este redimensionado se realiza mediante la adición a la etiqueta <IMG SRC> de dos atributos: HEIGHT que controla el tamaño vertical de la imagen (el "alto") y WIDTH que controla su tamaño horizontal(su "ancho").
Es importante tener en cuenta que el redimensionado de imágenes puede ser útil para ahorrar espacio en una pagina Web, pero no disminuye el tiempo de carga de la imagen. Si lo que nos interesa es hacer que las imágenes se carguen más rápido, es mejor reducir su tamaño en una aplicación de edición digital de imágenes, antes de incorporarlas a la página.
ADVERTENCIAS Y RECOMENDACIONES:
Debido a que los formatos soportados en HTML (GIF y JPEG) son dependientes de la resolución; el aumento excesivo del tamaño de una imagen por encima de las proporciones originales dará como resultado la distorsión comúnmente conocida como "pixelación", en la cual las imágenes aparecen formadas por cuadrados más o menos grandes. Por el contrario el reducir las dimensiones de una imagen no produce ningún tipo de distorsión, y es muy útil (y aconsejable) en el caso de imágenes de gran tamaño, que de otra manera tardarían demasiado tiempo en cargarse.
Incluso aunque no pretendamos alterar las dimensiones de la imagen, es aconsejable utilizar los atributos WIDTH y HEIGHT, asignándoles los valores del tamaño de la imagen original. La razón de esto es que haciéndolo así, la carga de la página será más rápida.
¿Por qué? Hay que tener en cuenta que las imágenes son uno de los elementos más lentos a la hora de cargarse, mucho más que el texto. Al dar los valores del tamaño de las imágenes(por medio de WIDTH y HEIGHT), el navegador "sabe" por adelantado el tamaño que ocuparán, y podrá reservarles el tamaño correspondiente. Esto permite al navegador cargar toda la página (texto) antes de empezar a cargar las imágenes; en caso contrario, la carga de la página se interrumpiría en el momento de aparecer una imagen, y no continuaría hasta que dicha imagen estuviera totalmente cargada.
Cuando se habla de alineación en referencia a imágenes incluidas en documentos HTML es preciso diferenciar dos tipos: la alineación de la propia imagen con relación a los bordes de la página(o para ser más exactos, con relación a los márgenes de la ventana en la que se cargará la pagina) y la alineación del texto que acompaña o rodea la imagen en relación con la propia imagen.
Lo más destacable en este caso, como hemos podido ver, es que un único atributo (ALIGN), soportado por la misma etiqueta(<IMG SRC>) permite controlar ambas alineaciones, la de la imagen y la del texto acompañante. En el primer caso ALIGN puede tomar los valores LEFT, CENTER y RIGHT, como ya vimos anteriormente, mientras que para controlar la alineación del texto acompañante, ALIGN toma los valores TOP, MIDDLE y BOTTOM.
Así por ejemplo, la siguiente etiqueta
<IMG SRC
="imagen.gif" HEIGHT=660 WIDTH=300 ALIGN=LEFT ALIGN=TOP>define una imagen de 660 pixeles de ancho, 300 de alto, alineada a la izquierda de la página y cuyo texto acompañante queda alineado en la parte superior de la imagen.
Otra función de las imágenes dentro de un documento HTML es la de servir de elementos activos en un enlace hipertexto, es decir, que al pinchar dentro de la imagen se invoque un recurso HTML (otra imagen, una página HTML, etc.).
Hay dos maneras de crear enlaces a partir de una imagen: de forma directa o por medio de lo que se conoce como "Mapas Activos" o "Mapas Sensibles"; este último método, mucho más complejo, lo describiremos en un módulo posterior, por el momento nos limitaremos a explicar como crear enlaces directos desde una imagen.
La estructura de un enlace desde una imagen es básicamente la misma que la utilizada para crear un enlace hipertextual normal (etiqueta<A HREF></A>), con la diferencia de que en el lugar del elemento activo del enlace (normalmente una palabra o frase), incluiremos la etiqueta <IMG SRC>. La estructura resultante será la siguiente:
<A HREF="archivo1.html"><IMG SRC="imagen.jpg"></A>
donde "archivo1.html" es el nombre del recurso que queremos invocar a través del enlace, e "imagen.jpg" es el nombre del archivo gráfico que utilizaremos como elemento activo.
Crear un enlace a partir de una imagen en Netscape es también bastante simple, y sigue los mismos pasos que ya se explicaron para crear un enlace convencional.
Como en HTML, cuando una imagen se convierte en elemento activo de un enlace, queda rodeada de un marco de color azul (el mismo color azul que identifica los enlaces comunes). Esto puede ser interesante ocasionalmente, pero lo más común es que se suprima por razones de estética.
El ancho de este marco o borde viene definido por el atributo BORDER, soportado por <IMG SRC>. El valor de BORDER por defecto (es decir, el que asume si no se incluye explícitamente en la etiqueta <IMG SRC> es uno (un borde de un pixel de ancho), pero puede modificarse a voluntad.
Para eliminar totalmente el borde de una imagen, basta con asignar un valor de cero ("0") al BORDER. Esta es la opción por defecto de Netscape Composer (no confundir con la del valor por defecto de BORDER que se explicó anteriormente), por lo que en la mayoría de los casos no tendremos porque preocuparnos por ello.
En un módulo anterior vimos como es posible "alterar" los fondos de las páginas cambiando el color. Otra posibilidad es incluir como fondo de la pantalla una imagen (también en formato GIF o JPEG).
Como hemos visto, la definición de una imagen de fondo se realiza por medio del modificador BACKGROUND, soportado por la etiqueta <BODY> de acuerdo con la siguiente estructura:
<BODY BACKGROUND
="imagen.jpg">donde "imagen.jpg" es el nombre del archivo gráfico que queremos utilizar como fondo de la página.
Al cargarse como fondo, la imagen en cuestión se repetirá como un mosaico a lo largo de toda la página.
ADVERTENCIAS Y RECOMENDACIONES:
Si el navegador en el que se carga la página tiene desactivada la opción de cargar imágenes, la imagen de fondo no se cargará, lo que puede ser un problema si el color que le hemos asignado al texto es semejante al fondo por defecto de los documentos HTML (gris), ya que en este caso el texto no sería legible.
Para evitar esto es conveniente incluir junto al atributoBACKGROUND el atributo BGCOLOR, asignándole un valor (color) lo más parecido posible al de la imagen elegida como fondo. La estructura resultante sería:
<BODY BACKGROUND="imagen.jpg" BGCOLOR="#xxyyzz">
donde, como ya se explicó en su momento, xxyyzz son los parámetros en valor hexadecimal que determinan el color del fondo de la imagen.