quinta-feira, 23 de julho de 2009

Manipulando imagens em formato SVG Tiny com Java ME

Esse tópico consiste em uma parte do meu projeto de IC (Iniciação Científica) no período 2008-2009. Java ME é uma linguagem de programação criada pela SunMicrosystems para criar aplicações que dão suporte aos dispositivos móveis, como celulares, PDA's e outros. Já as imagens SVG Tiny é um formato de imagem baseado em uma linguagem de marcação conhecida como XML, o SVG também conhecida como Gráficos Vetoriais Escaláveis tem sua própria API definida no J2ME, que é a API JSR-226, onde temos uma Imagem em PNG ou JPEG e a transformamos em código XML que na verdade é um SVG. Vale lembrar que é preciso fazer uma breve especificação na imagem que queremos transformar em SVG Tiny, pois o SVG Tiny é um formato definido para dispositivos móveis. Então vocês leitores devem está se perguntando para quê converter em XML?
A resposta é simples, os celulares são dispositivos com pouco recurso de processamento, diante desse fato, não poderiamos pegar qualquer imagem em qualquer tamanho e tentar plotar na tela do celular. Então utilizamos o SVG Tiny para reduzir o tamanho dessas imagens de forma que não exista perca na resolução das imagens. No meu caso, utilizei SVG porquê meu trabalho consiste em rodar o mapa de mossoró no celular, então devemos reduzir o máximo.
Abaixo segue uma imagem que mostra uma classe da API JSR-226 que faz a renderização de SVG Tiny.


Em seguida vou mostrar um resultado de um código, onde visualizamos a nossa Universidade Federal de Mossoró/RN, pois nosso projeto se baseia em mossoró.



Vale lembrar que eu fiz uma descrição bem rápida sobre manipular SVG Tiny, aos leitores que tiverem dúvidas, deixem postagens que passo os detalhes. Isso é muito importante. Passei uns 5 meses trabalhando com isso e vi o pontencial que o SVG têm, poucas pessoas dominam o SVG, saber usar o código do Java ME com as imagens prontas é façil, o difiçil é especificar o SVG Tiny seguindo a W3C o verdadeiro criador desse padrão de imagens. Espero que gostem da postagem, abraços.

2 comentários:

  1. Boas Jarbas sou um recem licensiado e encontro-me de momento a trabalhar numa empresa que se dedica a desenvolvimento para plataformas moveis, tenho a meu cargo um projecto que implica a custumização de um avatar (personagem) em tempo de execução por exemplo escolher cabelo, olhos etc, isto tudo tem que suportar animações, como tal estou a investigar 3 abordagens ao problema
    1) Sprites (Baseado em GIFs)
    2) SVG
    3) M3G (3D graphics)

    queria saber se com a tua experiencia por detrás de SVG sei que é possivel manipularo XML directamente no código, é possivel então substituir elementos gráficos por outros e estes novos seguirem a animação ?
    É tambem possivel ter várias animações distintas num unico ficheiro svg e escolher qual executar ?

    Atentamente Arsénio Costa

    ResponderExcluir
  2. Caro Arsénio,
    até o presente momento só trabalhei com a especificação de mapas, essa parte de criar ficheiros com animações vou começar a ler agora. Acredito eu que pelo que eu já li, seja possível substituir elementos gráficos por outros e seguir na animação. Ahora você ter várias animações em único ficheiro, eu não sei lhe responder. Acredito eu que seja possível isso que você quer fazer e muito mas, pois estamos trabalhando com algo de grande potencial e que podemos manipular o próprio XML no arquivo.
    Saudações

    ResponderExcluir