Voltar

SVG(Scalable Vector Graphics)

Introdução

O SVG é uma linguagem gráfica padrão, que permite desenhar páginas web com alta resolução gráfica, incluindo elementos sofisticados tais como: declives, fontes embutidas, transparências, animação e efeitos de filtro, usando comandos de texto.

O SVG é baseado em XML(Extensible Markup Language), e foi desenvolvido pelo grupo de trabalho da World Wide Web Consortium (W3C). São membros do grupo de trabalho da W3C a Adobe, Apple, Macromedia, Hp, entre outros.

Objectivos

O SVG é uma linguagem ainda em desenvolvimento não existindo uma base suficientemente estável e definida para se poder apresentar, visto estar sempre em continua evolução. Partindo deste principio não se pretende apresentar a tecnologia ou a sua especificação, mas dar a conhecer as suas capacidades e limites, de maneira a demonstrar em que é que esta tecnologia vai alterar o estado actual do desenvolvimento Web e as suas vantagens ou desvastagens.

 Capacidades e Limitações do SVG

                   Que posso fazer

Em geral, o SVG é um formato gráfico vectorial que no seu estado nativo é inteiramente dedicado a bases vectoriais. Linhas, preenchimentos, gradientes e texto. O SVG é também extensível no sentido em que suporta extensões com capacidades de filtrar, e pode ser expansível de uma maneira modular através de outras aplicações XML. Por exemplo, trabalha com scripting, eventos e modelos de objectos definidos pelo DOM e pode ser alterado dinamicamente com CSS, mas pode ser também integrado com qualquer coisa como animação integrada.

Texto é texto

Existem muitos sites em flash em que é quase impossível ler o texto. Com o SVG pode-se seleccionar , escalar, indexar e extrair o texto. Isto significa grandes avanços para acessibilidade, internacionalização e rendering variável em múltiplos dispositivos de output. Como é baseado em texto , scripts externos e ligações à base de dados serão capazes de seguir exactamente (quase) o modelo existente baseado em sistemas dinâmicos em HTML. Ferramentas do lado do servidor e cliente não terão problemas em trabalhar com conteúdos basedados em texto dos ficherios SVG.

Suporta bitmaps

O SVG tem a capacidade habitual do XML em suportar objectos embutidos. Bitmaps serão disponibilizados na sintax do SVG através da tag <image>.

O SVG é acessível

Qualquer coisa em SVG pode ter conteúdos alternativos. Daqui retiramos duas aplicações: (1) pode-se, depois de ter um gráfico, escrever texto por cima de práticamente qualquer parte desse gráfico; (2) qualquer componente pode ser substituída por outra, dependendo das variáveis do ambiente.Por exemplo, um bitmap pode ter uma série de formatos alternativos. Se a aplicação não suportar um determinado formato ela vai experimentando outros formatos até um funcionar. Começa em GIF, se não suportar passa a JPG e assim sucessivamente.

Preenchimentos: com ou sem padrões

As formas podem ter ou não bordas e serem preenchidas, que por sua vez podem ser de qualquer cor, gradiente ou padrão definido pelo autor.

Linhas

As linhas podem ser pesadas, estilizadas e conter um padrão.

Padrões

O SVG pode definir padrões em bitmaps ou imagens vectoriais para uso de preenchimentos, linhas ou texto ordenado.

Transformações

As mesmas que as imagens normais.

Objectos reutilizáveis

Após criado o objecto, este pode ser referenciado através de múltiplas instâncias ou no site ou noutros objectos, remodelando-os de diversas maneiras em cada instanciação.

Agrupar

Permite agrupar diversos objectos de maneira a estilizar por grupos ao contrário do flash que o objecto já tem que vir nesse estilo.

Estilizar com CSS

Os ficheiros SVG podem ter stylesheets ligados a eles. Isso permite ao autor um controlo de alto nível, uma vez que um stylesheet pode ser aplicado a diferentes ficheiros e também ao utilizador final permitindo-lhe optar por uma determinada maneira de ver conforme o seu gosto, mais ou menos como as templates do Word. Por que o CSS também pode esconder elementos, os stylesheets podem ser usados para alterar a visualização das páginas.

Suporte XHTML

Pode-se incluir XHTML no SVG. O SVG permite colocá-lo e determinar regiões de clipping para o XHTML. Se o cliente consegue fazer "render" ao SVG e não ao XHTML, então o SVG proporciona conteúdos alternativos com a tag <switch>.

Máscaras e clipping paths

Elementos (objectos, formas, grupos, etc...) podem ter máscaras associadas, ou seja, pode-se mostrar apenas uma região especifica de um elemento.

Transparências

Como usa CSS para estilizar, o SVG permite transparências completamente escondidas, parciais ou completamente opacas. Além do uso normal das transparências, a transparência SVG é composta por gradientes e HMTL que permite por exemplo, fazer desaparecer uma caixa de um form ou outra forma vectorial.

Scripting

Para além do scripting do lado do servidor, o SVG trabalha com o DOM, para permitir do lado do cliente, uma programação por eventos. Ou seja, coisas como rollovers de vectores que funcionam mesmo quando se faz zoom e objectos animados que são programados ao longo do écran são suportadas. Porque o SVG partilha o espaço documental com outras coisas do DOM, as acções no mundo SVG serão capazes de comunicar independentemente com XHTML no browser (um clique num gráfico pode resultar no preenchimento de um campo de um form).

Animação

Até agora, o SVG não suporta animação nativamente, mas vai depender das frameworks do XML existente para descrever o movimento. Essas frameworks são tanto procedimentais (scripting externo, o DOM) como declarativas (smil).

3D

Não, mas não será imcompatível com o SVG.

Som

Não. Isto é um standard de gráficos!.

Tamanho dos ficheiros

Num teste na www8 (baseado no draft publico 2 do SVG) um ficheiro do Adobe Ilustrator de 1M com bastantes objectos, padrões, gradientes e layers acabou como um ficheiro de 639K em SVG. Concluindo, a informação pode ser partida em elementos que podem ser guardados como ficheiros separados. Isto significa que bocados do ficheiro são armazenados na cache e reutilizados num qualquer número de compostos ao longo de todo o site.

O SVG é um Open Standard

 Como um open standart o SVG não pertence a nenhuma companhia, mas é o resultado da cooperação entre líderes industriais. Porque o SVG está      disponível para qualquer companhia ou para individuais que o queiram implementar, existem aplicações de várias companhias que suportam a criação, edição e viewing do SVG.

O Que é o DOM

O Document Object Module (DOM) específica um conjunto de interfaces de programação para documentos XML e HTML. Define a estrutura lógica de um documento e a forma como uma aplicação lhe pode aceder e manipulá-lo. O DOM para o SVG permite uma eficiente animação de vectores gráficos através de scripting.

Relação Entre SVG, VML E PGML

O VML(Vector Markup Language) e o PGML(Precision Graphics Markup Language)foram propostos para serem vectores gráficos standart da w3c. O VML suporta a construção de gráficos para escritório, enquanto que o PGML suporta gráficos mais ricos, mais adaptados ao desenho profissional e à comunidade publicitária. O SVG surge para colmatar a necessidade de um formato vector gráfico standarizado que incorpore as melhores características do VML e do PGML.

Diferenças Entre Formatos Vectorias (SVG) e Bitmap (GIF,JPEG)

Os gráficos bitmap têm de incluir todos os pixeis necessários para mostrar uma imagem.Como resultado os ficheiros GIF e JPEG tendem a ser volumosos, são limitados muitas vezes pela baixa resolução e consomem muita largura de banda na web.

O que o formato vectorial (SVG) oferece que o formato bitmap (GIF,JPEG) não oferece

O SVG oferece um número importante de vantagens, tais como:

  • Zooming - o SVG suporta o zoom nos gráficos com verdadeiro escalonamento. Portanto todos os objectos e atributos(incluindo texto e linewidths) devem crescer uniformenente com o nível do zoom;

  • Abilidade para procurar elementos num texto, através de gráficos - como o SVG é baseado em XML, texto em imagens SVG é pesquisável e editável;

  • O tamanho dos ficheiros SVG são em média mais pequenos que outros formatos gráficos tais como GIF e JPEG;

  • Maior resolução de impressão - por causa do seu modelo de cor fidedigno, o SVG imprime com as mesmas cores que o utilizador vê e com a máxima resolução de impressão;

  • Controlo de cores superior - o SVG oferece uma palete de 16 milhões de cores;

  • Interactividade dinâmica - como o SVG é baseado em XML este oferece uma interactividade dinâmica. As imagens SVG podem responder às acções do utilizador com o realce de ferramentas, efeitos especiais, audio e animação.

Vantagens de Uma Linguagem Gráfica Vectorial Baseada em XML

O XML oferece um maior e mais sofisticado controlo estrutural que o HTML. O SVG é inteiramente baseado em XML, um facto que oferece muitas vantagens para os investigadores e utilizadores. Como os web sites tornaram-se mais complexos, oferecendo mais interactividade e sofisticação visual, os web designers necessitam de linguagens mais poderosas que o HTML.

Benefícios de um Formato Vectorial Baseado em Texto Para a Web

SVG e XML são baseados em texto, um facto que oferece muitas vantagens para os investigadores e utilizadores:

  • Uma imagem SVG é composta por comandos XML baseada em texto, que pode ser incorporada em JavaScript ou XML;

  • Como formato baseado em texto, o texto em imagens SVG pode ser indexado por motores de busca ou procurado em browser pelos utilizadores;

  • O SVG pode também ser criado por qualquer linguagem scripting- tais como o JavaScript ou o Java- com dados de qualquer fonte de uma base de dados relacional para um ficheiro ASCII, uma forma ideal de criar gráficos e charts de alta qualidade que altera dinamicamente e permite aos utilizadores fazerem o zoom;

  • O SVG é plenamente suportado pelo DOM(Document Object Model) e por esta razão é inteiramente programavel. Imagens SVG ou partes de uma imagem SVG podem reagir aos clicks e aos movimentos do rato, originando mudanças, mudanças essas para os próprios gráficos ou para outros objectos que estejam na mesma página, tais como texto HTML ou outros gráficos;

  • O SVG funciona bem sobre plataformas, resoluções de saída, cores espaçadas, e uma fila de largura de banda.

Como Criar o SVG

Através do AdobeIllustrator, pode criar escalonamento de vectores gráficos da mesma forma que cria qualquer tipo de gráfico. Não necessita de aprender a trabalhar com novo software para fazer ou usar um objecto SVG na sua página.

Quando é Que os Web Browsers Vão Suportar o SVG Como uma característica standard?

Ainda não foi anunciado.

Os Ficheiros e Scripts SVG Irão Continuar a Funcionar Depois do SVG Ser Suportado Pelos Web Browsers?

Sim, qualquer característica SVG que tenha sido avaliada na versão final do Adobe SVG Viewer irá trabalhar da mesma forma que quando suportada nativamente num browser compilador SVG.

Conclusão

Como foi dito anteriormente, o SVG é uma linguagem gráfica ainda em desenvolvimento, por esta razão este trabalho centrou-se na apresentação das capacidades e limitações do SVG. Como pudemos vêr trata-se de uma linguagem poderosa que irá alterar o estado actual da Web.

 

Voltar