Canvas e SVG
Roteiro
Introdução
HTML5 é uma iteração do HTML que trouxe mais “vida” a WWW.
Canvas significa tela, como exemplo a tela de
desenho de um artista.
Canvas é uma área da tela do browser que foi transformada em Bitmap e permite manipulação 2d de elementos.
Tecnologias gráficas.
Canvas e SVG
Introdução
Utilizando o JavaScript pode-se fazer inúmeras coisas no canvas. Manipulação e reconhecimento com teclas do teclado ou manipulação com mouse e também os desenhos, animações.
O elemento Canvas pode ser acessível pelo DOM do browser, porém o conteúdo 2d que foi feito no canvas não é acessível a partir do DOM.
Exemplo Hello World!
Desenhando no Canvas
Para usar canvas efetivamente é necessário ter conhecimentos sobre desenho, cores e transformações bidimensionais. Assim como saber trabalhar em uma liguagem de script reconhecida pelo navegador.
Formas no canvas: retângulos, círculos, ou qualquer desenho que quiser fazer.
Desenhando no canvas
DESENHANDO NO CANVAS
desenhando no canvas
HTML5 Text API
Esta ferramenta possibilita a criação de textos. Que antes eram bastante complexas ou até impossíveis de se fazer de outra forma.
Interessante ressaltar que apesar de parecido o canvas para texto não tem nada a ver com texto utilizando css.
Existem maneiras de se trabalhar com formulários juntamente com a ferramenta de texto no canvas. Depende da necessidade!
HTML5 TEXT API
Existem inúmeras maneiras de se tratar o texto; como é uma
ferramenta de desenho e que dá suporte a este tipo de técnica depende muito da
criatividade e do conhecimento com a técnica para se fazer o que deseja.
Exemplo
Existem inúmeras maneiras de se tratar o texto; como é uma ferramenta de desenho e que dá suporte a este tipo de técnica depende muito da criatividade e do conhecimento com a técnica para se fazer o que deseja.
Exemplo
html5 text api
Imagens no canvas
A API do canvas (utilizando JavaScript) permite acesso ao DOM, assim possibilita trabalhar com imagens que estejam nele ou ela pode ser carregada pelo JavaScript.
Utilizando este tipo de API no browser é possível manipular vários tipos de objetos, assim como fazer animações, e outros tipos de manipulação de acordo com a necessidade do usuário ou da aplicação.
Imagens no canvas
Imagens no canvas
Algumas funções clássicas com canvas e imagens seria por exemplo um vídeo que se fragmenta em imagens para poder ter uma noção do conteúdo do vídeo.
Exemplo trabalhando com imagens no canvas.
Exemplos reais de imagens com canvas.
http://www.thiagogoiis.xpg.com.br/treinamento/audioVideo.html
Algumas funções clássicas com canvas e imagens seria por exemplo um vídeo que se fragmenta em imagens para poder ter uma noção do conteúdo do vídeo.
Exemplo trabalhando com imagens no canvas.
Exemplos reais de imagens com canvas.
http://www.thiagogoiis.xpg.com.br/treinamento/audioVideo.html
Animações no canvas
É importante lembrar que para fazer animações e/ou movimentações não basta somente jogar um efeito, é necessário utilizar o efeito que o usuário espera.
Animações no canvas
Movimentação em linha reta.
Movimentações simples.
Jogos!
Alguns Exemplos de Animações.
Videos NO CANVAS
Com as otimizações do HTML5 não é necessário mais um plug-in para passar elementos de vídeos nos browsers.
Com isto traz-se a oportunidade de fazer e trabalhar
inúmeras funções.
Existem várias formas de se manipular vídeo no HTML5.
Exemplo.
VIDEOS NO CANVAS
Para manipular o vídeo corretamente no canvas é necessário primeiro verificar se o vídeo carregou e/ou o quanto ele carregou, pois a maneira de se trabalhar no canvas é diferente. Caso o vídeo não esteja carregado dará um erro no Java Script.
Interessante ressaltar que existem várias aplicações que usam canvas com vídeo (Youtube).
Utilizando estas tecnologias em conjunto é possível processar o vídeo em tempo real e fazer várias mudanças nele.
Games no canvas
Jogos são a grande razão para que muitos utilizem computador e muitos entrem para o ramo da computação.
Antes do HTML5 eram possíveis jogos em browser utilizando plug-ins como Flash.
Porém com o avanço das tecnologias e dos browsers isto foi se tornando obsoleto e com as novas tecnologias que são fornecidas, jogos e outros aplicativos podem ser executados no browser diretamente sem a necessidade de plug-ins ou outros aplicativos externos.
Games no Canvas
Áudio
Áudio
Platform | .ogg | .mp3 | .waw |
Chrome | X | X | X |
Firefox | X | X | |
Safari | X | X | |
Opera | X | X | |
Internet Explorer | X |
Áudio
Áudio
Novidades no Canvas
Existem muitos estudos e aprimorações que estão sendo feitas no canvas e no HTML5 em si.
Canvas com WebGl para aplicações 3D.
SVG
Raster and Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Se podem fazer mudanças como adicionar, remover ou editar o código sobre o DOM, as quais atualizam imediatamente a representação SVG, o qual é conveniente para “debugging” e “experimenting.”
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics
Exemplos Extra
Atividade Prática
Referências
- Pro HTML5 Programming, Second Edition; Peter Lubbers, Brian Albers & Frank Salim
- HTML5 Canvas, Second Edition; Steve Fulton & Jeff Fulton
-
http://www.w3.org/TR/SVG11/
-
http://www.ro.me/
Fundamentos Hipermidia
By hipermidia
Fundamentos Hipermidia
- 655