O GLOBO - Informática Etc. - Carlos Alberto Teixeira
Artigo: 254 - Escrito em: 1996-07-03 - Publicado em: 1996-07-08


Imagens transparentes


Tem uma turma de teimosos fincando pé dizendo que, para navegar rápido e sem frescuras pela Web, o bom mesmo é usar modo texto puro, com um browser tipo Lynx ou coisa que o valha. Mas o quê? Sem aquelas figurinhas lindas? Sem os badulaques que tanto nos encantam a vista? Nem pensar, dizem outros. No meu caso, confesso que, "na vera" vou de Lynx texto duro, mas "na brinca" vou de Netscape cheio de imagens.

De fato, o grande barato da Web são as imagens. Tem muita imagem JPEG por aí, mas é ainda muito usado o bom e velho formato GIF, Graphic Interchange Format, desenvolvido pela CompuServe e depois adotado como forte padrão industrial. O formato GIF usa uma tabela de 256 cores, que pode ter alcance global (usada por todos os GIFs do fluxo de dados), ou local (valendo apenas para o próximo GIF exibido), mas o usuário comum geralmente nem toma conhecimento dessa história de tabelas de cores.

Mas quando a leitora começa a fuxicar essas "inline images" que tanto lhe encantam, percebe que alguns GIFs parecem mágicos, apresentando partes transparentes, permitindo ver a imagem de fundo da tela no Netscape. Não é mágica não, é só evolução.

Existem dois formatos GIF: 87a e 89a. A maioria dos visualizadores suporta 87a e o Photoshop produz apenas 87a. O formato 89a é mais esperto e oferece algumas extensões de controle gráfico, incluindo um índice de transparência (ahá!), que faz com que se possa "ver através" de uma certa cor da tabela. Com isso é possível ter imagens sem aquelas bordas retangulares, como normalmente se esperaria de um GIF ou JPEG comum.

GIFs transparentes podem ser usados como espaçadores, para posicionar imagens na página Web com precisão, ou qualquer outra mutreta que você queira bolar. Tem uns espertinhos que usam GIFs com 1 pixel de altura e vários pixels de largura para forçar espaçamento na página, aproveitando que imagens assim downloadam bem rápido. Só levam ferro quando o pobre usuário resolve redimensionar a página e o esquema de espaçamento vai pras cucuias.

Muitos browsers (ainda) não suportam GIF 89a com suas transparências. Nesses casos, a leitora que é esperta, define a cor de background (fundo) da sua página Web, como sendo a mesma cor de fundo da imagem GIF e assim a imagem fica parecendo que não tem bordas. Muitos browsers usam aquele cinza batido como cor de fundo, ou seja 192-192-192 em valores RGB decimais (red=192 green=192 blue=192) e você pode experimentar com essa cor.

Mas se você quiser brincar com transparências, pegue um GIF velho seu em formato 87a. (Para saber se seu GIF é 87a, entre no EDIT do DOS e chame o GIF. Se a primeira linha dele for GIF87 então pronto. Saia do EDIT sem salvar.) Agora você vai ter que pegar um brinquedinho feito pelo Andreas Ley <[email protected]> chamado giftrans. Pode pegar o programa fonte em C no ftp://ftp.rz.uni-karlsruhe.de/pub/net/www/tools/giftrans.c ou o executável giftrans.exe para MS-DOS no mesmo diretório. Se quiser uma tabelinha esperta de cores com os valores RGB, pegue o arquivo rgb.txt. Com essa ferramenta na mão, é só ler o pequeníssimo manual, definir sua cor transparente e tacar o GIF na página para ver como ficou. Uma linha típica de chamada do giftrans seria: "giftrans -t #000000 -o novo.gif velho.gif". Note que os valores da cor transparente são informados em RGB hexadecimal, logo #000000 é preto, pois r=00 g=00 b=00. Branco seria #FFFFFF e vermelho puro #FF0000.

Tem uma outra ferramenta, que ainda não experimentei, de um tal David Koblas, chamada giftool. Visite http://www.homepages.com/tools/ e pegue-a lá. Se quiser ler explicações detalhadas sobre a questão da transparência, procure em http://members.aol.com/htmlguru/transparent_images.html. Macintosheiros, ataquem de http://www.med.cornell.edu/~giles/projects.html#transparency e quem quiser um script Perl, visite http://www.omron.co.jp:80/~jfriedl/perl/. Há também umas informações em português em http://www.inf.fu-berlin.de/~leitner/trans/portuguese.html.

Se a leitora é adepta do formato JPEG e quer imagens transparentes, eu lhe digo: babau. Não dá, pelo menos por enquanto. Dois camaradas estão lutando por isso lá na Suécia: Ed Scott <[email protected]> e Thomas Lindström <[email protected]>, desenvolvendo um formato de arquivo gráfico otimizado para a Web. É um projeto aberto e tudo que vai ficando pronto é entregue ao domínio público. O novo JPEG irá apresentar transparência hard-edge (tipo GIF89a), soft-edge (bordas da imagem em transição com a imagem circundante), semi-transparência, operações raster, fator de transparência e cores de 24 bits.

Os tamanhos de arquivos dos novos JPEGs serão bem menores que os dos GIF 89a e dos JPEGs atuais. Se quiser saber a quantas anda o projeto, aponte seu browser para http://www.algonet.se/~dip, mas tenha paciência pois o site é lento prá danar.


[ Voltar ]