AULA 20: Criação de mapas clicáveis

Separadores primários

Read time: 7 mins

AULA 20: Criação de mapas clicáveis

NESTA AULA
Vamos aprender o que são image maps, a sua importância, como funcionam e como criar os seus próprios image maps.


O que são?


Os images maps (ou imagens mapeadas) não são mais do que imagens com vários links, onde cada um dos links é definido através das suas coordenadas na imagem.
Imagine uma imagem com duas partes, uma preta e outra branca, imagine também que quer que cada uma das partes aponte para uma diferente secção do seu site, este seria um caso onde poderia utilizar image maps, poderia também criar duas imagens e linkar cada uma para seu sítio, mas se este argumento se aplica para este caso, já não se aplicaria numa situação onde estivesse a criar uma barra de navegação que apontasse para cada uma das 10 secções do seu site.


Porquê utilizar


Para poupar trabalho, pois se não existissem os images maps teria de criar (por exemplo) 10 imagens, cada uma com o seu texto, e provavelmente teria de colocar essas imagens dentro de uma tabela para que ficassem alinhadas e depois teria que linkar cada uma das imagens para a secção correspondente.
Os images maps são importantes não só por isto, mas também porque têm uma palavra a dizer na rapidez das páginas.
Imagine que está numa esplanada de um café e pede uma cerveja, o empregado pacientemente vai buscar e entrega-lhe a cerveja, depois você lembra-se que uns rissóis vinham mesmo a calhar, torna a chamar o empregado e pede-lhe os tão apetecidos rissóis, este por sua vez volta à cozinha de onde lhe trás o petisco, mas depois de você olhar para os rissóis apercebe-se que eles não eram do tamanho de que estava à espera e resolve então pedir mais qualquer coisa, o empregado por sua vez teria que se dirigir (mais uma vez) à sua mesa perguntar-lhe o que queria e depois ir buscar o seu pedido. Se tivesse pedido tudo de uma vez tinha poupado algum trabalho ao empregado e algum do seu tempo. Isto é em tudo semelhante ao que acontece entre o servidor e browser no que toca às imagens, cada imagem que o browser carrega tem que ser pedida ao servidor que por sua vez envia a imagem pedida, se criar um image map estará a pedir tudo de uma vez só.


Tipos de image maps


Existem dois tipos de image maps, os ''client side'' e os ''server side'', isto quer dizer (respectivamente) do lado do cliente (o seu browser) ou do lado do servidor onde a página está alojada.
Os ''server side'' image maps já caíram em desuso, eles começaram por ser utilizados porque os browsers não tinham a capacidade de interpretar essa informação (as tais coordenadas), isto já não acontece hoje em dia, por isso vamos limitar-nos à segunda opção.


Como criar e utilizar


A utilização de image maps é bastante simples, o seu tag é semelhante ao tag de imagem normal, com a diferença da informação de que é um image map, e de todas as coordenadas, conjuntamente com a forma da secção linkada e do URL para onde aponta. Um image map deverá ter um aspecto semelhante a este, neste caso utilizamos para exemplificar o ficheiro barra.gif

<img src="barra.gif" width="460" height="50" border="0" usemap="#barra">

<map name="barra">
<area shape="rect" coords="214,29,289,42" href="/index.html">
<area shape="rect" coords="291,29,348,42" href="/conteudo.html">
<area shape="rect" coords="350,29,396,42" href="/opiniao.html">
<area shape="rect" coords="378,1,448,23" href="/cartoon/index.html">
<area shape="rect" coords="303,1,376,23" href="/livraria/index.html">
<area shape="rect" coords="256,1,301,23" href="/web/index.html">
<area shape="rect" coords="194,1,254,23" href="/jogos/index.html">
<area shape="rect" coords="111,1,192,23" href="/software/index.html">
<area shape="rect" coords="14,1,109,23" href="/tecnologia/index.html">
<AREA SHAPE="DEFAULT" NOHREF>
</map>


A explicação


O tag img lá está, com todos os atributos do costume o src para indicar qual a imagem, o with e o height para definir as suas dimensões, o border igual a zero para retirar a borda, e agora as novidades, e o usemap que diz ao browser que aquela imagem é um image map e onde ir buscar a informação sobre que zonas da imagem apontam para onde. Essa informação está (como indicado no atributo usemap) no tag map com o respectivo name (nome), entre esse tag está então a valiosa informação sobre as zonas a linkar. O tag area, que só pode ser usado dentro do map, contém alguns atributos (óbvios para quem sabe um pouco de inglês) que definem o seguinte: o shape diz qual é a forma da área, e pode ser rectangular, círculo, ou polígono (outra forma a definir), o coords indica as coordenadas da respectiva área, por ultimo o href é o local para onde a secção definida deverá apontar. Existe ainda o atributo alt que funciona da mesma forma que funcionam o alt das imagens.

Se olhou para o exemplo com atenção deverá ter reparado que existe ainda um ultimo tag onde o shape está definido como default, este atributo diz respeito a toda a área que não é coberta pelas secções definidas em cima. Neste caso optamos por colocar o nohref, que quer dizer que a a área da barra que não está coberta pelas secções não aponta para lado nenhum. Poderíamos ter indicado um outro href à semelhança do fizemos para as outras áreas.

Tudo isto à mão?
Não se preocupe, não vai ter que criar tudo isto à mão, é importante que tenha ficado com uma ideia de como funciona, pois o trabalho sujo será feito de outra forma. Para isso vamos utilizar um criador de image maps, nós escolhemos o Splash Image Maper, porque tem um interface bastante agradávél e porque tem um tamanho reduzido (cerca de 1Mb). Existem dezenas de editores de image maps, existem inclusivé alguns programas de tratamento de imagem que já trazem opção para a criação de image maps como é o caso do Fireworks da Macromedia. Se não lhe agradar a nossa escolha não tenha problemas em fazer o download de outro, todos eles funcionam de forma semelhante.


Ao trabalho


Antes de mais precisa de criar a imagem que pretende mapear, o caso mais vulgar é o das barras de navegação. Crie então a sua imagem, nós optámos pelo exemplo inicial, o tal quadrado com duas partes. Vamos então fazer com que cada uma das partes aponte para uma página diferente. Abra o Splash e seleccione no menu File a opção load image, depois de ter a sua imagem carregada vá ao menu Shapes e escolha qual a forma que pretende, no nosso caso vamos escolher rectangular, o seu ponteiro deverá mudar de acordo com a forma que escolheu, depois disto só tem de seleccionar as áreas que pretende linkar, e escrever qual é o url para que deve apontar. Feito isto resta ir ao file e fazer export, ai encontra duas opções ''to file'' e ''to clipboard'' se escolher to file, o Splash grava-lhe um ficheiro .html se abrir esse ficheiro com o notepad poderá então ver o resultado final, bastará então copiar esse bocado de html para a página onde o pretende inserir. Se escolher to clipboard, basta ir ao html onde quer colocar o image map e fazer ''paste'' ou crtl+v e já está, nada mais simples. Pode ainda (e deve) gravar o image map, se o fizer, escolhendo a opção ''save'', ele ficará guardado num ficheiro com uma extensão própria do Splash.