SlideShare una empresa de Scribd logo
1 de 16
Introducción de Canvas en 
HTML5 
CANVAS ES UNO DE LOS COMPONENTES MÁS 
NOVEDOSOS DE ESTÁNDAR HTML 5 QUE 
SIRVE PARA DIBUJAR DINÁMICAMENTE 
IMÁGENES EN UNA PÁGINA WEB.
Novedades de HTML5 
 HTML 5 viene con varias novedades interesantes y una de las que 
podemos empezar a probar ya es el Canvas. Canvas significa en español 
algo así como lienzo y es básicamente eso, un área donde podemos 
dibujar como si fuera un lienzo. 
 El elemento canvas permite especificar un área de la página donde se 
puede, a través de scripts, dibujar y rende rizar imágenes, lo que amplía 
notablemente las posibilidades de las páginas dinámicas y permite 
hacer cosas que hasta ahora estaban reservadas a los desarrolladores en 
Flash, con la ventaja que para usar canvas no será necesario ningún 
plugin en el navegador, lo que mejorará la disponibilidad de esta nueva 
aplicación.
Compatibilidad de Canvas 
 El canvas se desarrolló inicialmente por Apple para su navegador Safari 
y luego fue utilizado y estandarizado por la organización WHATWG 
para incorporarlo a HTML 5. Posteriormente también ha sido adoptado 
por navegadores como Firefox y Opera. Por lo que respecta a Chrome, 
es un navegador que utiliza el mismo motor de rende rizado que Safari, 
por lo que también soporta el elemento Canvas. 
 De entre los navegadores más habituales sólo nos queda por soportar 
canvas el siempre polémico Internet Explorer. La última versión del 
navegador en el momento de escribir este artículo, Internet Explorer 8, 
no soporta canvas con funciones nativas, pero existen diversos 
proyectos y plugins que pueden ampliar las funcionalidades del 
navegador para dar soporte a este nuevo elemento del HTML 5. Por 
ejemplo, existe el proyecto Explorer Canvas en el que se ha preparado 
un plugin para que Explorer soporte el dibujo 2d que permite canvas.
 Sin embargo, aunque en diversos frentes se ha comenzado a utilizar 
Canvas, la falta de soporte de Explorer hace que todavía no sea muy 
recomendable su incorporación a las aplicaciones web, ya que la 
mayoría de los usuarios, que utilizan Explorer, no podrían ver las 
partes de la página donde se utiliza canvas. Esta situación se espera que 
cambie durante los próximos meses o años, puesto que la incorporación 
de canvas al HTML 5 ya es una realidad e Internet Explorer más tarde o 
temprano tendrá que dar soporte esta utilidad en su navegador, si no 
quiere que se descarte su utilización por parte de los usuarios que 
deseen acceder a los servicios web más avanzados.
Polémica por la propiedad intelectual de 
Canvas 
 Uno de los problemas de canvas es que se creó bajo 
propiedad intelectual de Apple, es decir que dicha empresa 
era la creadora de la ingeniería que daba soporte a este 
nuevo elemento y por tanto se encontraba bajo patentes de 
la compañía. Este hecho, añadido a la existencia de un 
formato abierto que sirve para hacer cosas similares como 
es el SVG, hizo que surgiera una polémica sobre la 
aceptación de este elemento en el nuevo estándar del 
HTML 5.
Aplicaciones de uso de Canvas 
 Canvas permite dibujar en la página y actualizar dinámicamente estos 
dibujos, por medio de scripts y atendiendo a las acciones del usuario. 
Todo esto da unas posibilidades de uso tan grandes como las que 
disponemos con el plugin de Flash, en lo que respecta a renderización 
de contenidos dinámicos. Las aplicaciones pueden ser grandes como 
podamos imaginar, desde juegos, efectos dinámicos en interfaces de 
usuario, editores de código, editores gráficos, aplicaciones, efectos 3D, 
etc. 
 Actualmente algunas de las aplicaciones más novedosas para para la 
web utilizan ya canvas para su funcionamiento, donde se puede 
destacar Bespin, un editor de código de Mozilla, o Google Wave. En la 
entrada de la Wiki sobre Canvas podemos encontrar diversos enlaces a 
sitios web con ejemplos de uso de este elemento del HTML 5.
Ejemplo de Canvas
<!DOCTYPE html> 
<html> 
<body> 
<canvas id="myCanvas" width="200" height="100" 
style="border:5px solid blue;"> 
</canvas> 
</body> 
</html> 
Ejemplo de un 
rectángulo realizado 
con Canvas
<html> 
<body> 
<canvas id="myCanvas" width="200" height="100" 
style="border:5px solid red;"></canvas> 
<script> 
var c = document.getElementById("myCanvas"); 
var ctx = c.getContext("2d"); 
ctx.beginPath(); 
ctx.arc(95,50,40,0,2*Math.PI); 
ctx.stroke(); 
</script> 
</body> 
</html> 
Ejemplo de un 
circulo realizado 
con Canvas.
Introducción a SVG en HTML5 
SVG SIGNIFICA VECTORES GRÁFICOS 
ESCALABLES. DICHO ASÍ TAL VEZ NO LO 
ENTENDAMOS, PERO LO ENTENDEREMOS 
MEJOR SI DECIMOS QUE ES UNA APLICACIÓN 
PARA HACER DIBUJOS, BANNERS, GRÁFICOS, 
ETC. TANTO ESTÁTICOS COMO ANIMADOS.
Diferencias entre Canvas y SVG 
 Con SGV podemos hacer las mismas cosas que con canvas, sin embargo 
su forma de trabajar es diferente. 
 Mientras que con canvas los dibujos se crean mediante píxeles. Con 
SVG se crean mediante gráficos vectoriales. Esto significa que el dibujo 
se adapta al tamaño, de forma que al ampliarlo o reducirlo en la 
pantalla se muestra siempre uniforme y no muestra los contornos de 
los píxeles para ampliaciones muy grandes. Esto en pantalla tal vez no 
tenga mucha importancia, pero si queremos imprimirlo en un tamaño 
grande los dibujos hechos con SVG muestran un mejor acabado.
Sus principales características 
 SVG es fácil de usar, ya que se basa en el lenguaje XML, es decir el mismo lenguaje de 
etiquetas que usa HTML. Esto significa que no tenemos que usar java script ni otro 
lenguaje diferente del HTML para incorporar figuras SVG en la página, ya que el XML es 
el mismo lenguaje de base que utilizan tanto HTML como SVG. Podemos por tanto crear 
las figuras y dibujos con SVG mediante etiquetas que incorporamos al lenguaje HTML. 
 Al estar el código SVG formado por los mismos elementos que el HTML podemos 
también aplicarle los lenguajes CSS y java script. 
 Con CSS podemos indicar el estilo de los distintos elementos. Para ello disponemos 
además de las propiedades habituales de CSS de algunas propiedades especiales para 
estos elementos que veremos más adelante. 
 Con java script podemos dar movimiento a los elementos creados con SVG y realizar otra 
serie de efectos (aparición, desaparición, agrandar, etc.). También podemos realizar estos 
efectos mediante CSS3. Sin embargo también podemos crear animaciones mediante el 
código SVG, sin necesidad de utilizar java script ni CSS3, Veremos todo esto más adelante 
en este manual.
Compatibilidad con navegadores. 
 SVG es compatible con todos los navegadores en sus 
versiones modernas, si bien en Internet Explorer 
sólo es compatible con las versiones 9 en adelante. 
Para versiones anteriores es necesario usar un 
plugin.
Introducir código 
SVG en la página 
Para introducir un elemento SVG en la página podemos utilizar la etiqueta <svg> ... 
</svg>. Este es el elemento contenedor dentro del cual dibujaremos los demás 
elementos. Debemos indicar mediante los atributos witdh y height la anchura y la 
altura del elemento contenedor, o podemos indicarlo también mediante código 
CSS. En todo caso hay que dar siempre una altura y anchura este elemento. 
También podemos poner el elemento SVG en un archivo aparte, para después 
incorporarlo a la página en el sitio que queramos. Para ello creamos un nuevo 
archivo en el que incorporamos el código SVG. 
El código va encerrado dentro de la etiqueta "svg". Al ser éste un lenguaje XML es 
conveniente poner en la etiqueta los atributos de este lenguaje. Después 
pondremos el código en SVG y al final cerramos la etiqueta SVG. Todo ello lo 
guardaremos en un archivo aparte con la extensión .svg, por ejemplo circulo.svg. 
Para incluir después este archivo en la página podemos hacerlo de varias maneras: 
 Como imagen: incluyéndolo dentro del atributo src: 
<img src="circulo.sgv" alt="circulo" width="200" height="200"> 
 Como iframe: incluyéndolo dentro del atributo src: 
<iframe src="circulo.svg" width="200" height="200"></iframe> 
 Con la etiqueta embed; atributos src, width y height: 
<embed src="circulo.svg" height="200" width="200" /> 
 Con la etiqueta object; atributos data width y height: 
<object data="circulo.svg" width="200" height="200"></object> 
En cualquier caso debemos incluir la ruta del archivo, y la altura y anchura de la 
ventana donde veremos el SVG (atributos "height" y "width").
<!DOCTYPE html> 
<html> 
<body> 
<svg width="400" height="180"> 
<rect x="50" y="20" rx="20" ry="20" width="150“ height="150“ 
style="fill:red;stroke:black;stroke-width:5;opacity:0.5" /> 
</svg> 
</body> 
</html> 
Ejemplo de 
un cuadrado 
realizado con 
SVG.
<!DOCTYPE html> 
<html> 
<body> 
<svg width="100" height="100"> 
<circle cx="50" cy="50" r="40" 
stroke="green" stroke-width="4" fill="yellow" /> 
</svg> 
</body> 
</html> 
Ejemplo de 
un circulo 
realizado con 
SVG.

Más contenido relacionado

Destacado

Conversiones
ConversionesConversiones
Conversionesbramas
 
Academy PRO: HTML5 Data storage
Academy PRO: HTML5 Data storageAcademy PRO: HTML5 Data storage
Academy PRO: HTML5 Data storageBinary Studio
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalLuisICM
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Instituto Técnico Superior
 

Destacado (6)

Conversiones
ConversionesConversiones
Conversiones
 
Academy PRO: HTML5 Data storage
Academy PRO: HTML5 Data storageAcademy PRO: HTML5 Data storage
Academy PRO: HTML5 Data storage
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 
Sistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimalSistemas numerico, binario,decimal,octal, hexadecimal
Sistemas numerico, binario,decimal,octal, hexadecimal
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
 
Diapositivas de slideshare
Diapositivas de slideshareDiapositivas de slideshare
Diapositivas de slideshare
 

Similar a Introducción de canvas y de svg html5

Similar a Introducción de canvas y de svg html5 (20)

Svg
SvgSvg
Svg
 
final
finalfinal
final
 
Diseñando con chamilo lms
Diseñando con chamilo lmsDiseñando con chamilo lms
Diseñando con chamilo lms
 
06_Nuevas reglas.pptx
06_Nuevas reglas.pptx06_Nuevas reglas.pptx
06_Nuevas reglas.pptx
 
El diseño web
El diseño webEl diseño web
El diseño web
 
Diseñando en Chamilo LMS
Diseñando en Chamilo LMSDiseñando en Chamilo LMS
Diseñando en Chamilo LMS
 
Investigacion de pagina web
Investigacion de pagina webInvestigacion de pagina web
Investigacion de pagina web
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011
 
Scalable Vector Graphics
Scalable Vector GraphicsScalable Vector Graphics
Scalable Vector Graphics
 
Html5
Html5Html5
Html5
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Diseño web
Diseño webDiseño web
Diseño web
 
Java Scripts
Java ScriptsJava Scripts
Java Scripts
 
Curso HTML5
Curso HTML5Curso HTML5
Curso HTML5
 
Las 5 Reglas de Oro del Diseño Web Responsive
Las 5 Reglas de Oro del Diseño Web ResponsiveLas 5 Reglas de Oro del Diseño Web Responsive
Las 5 Reglas de Oro del Diseño Web Responsive
 
Composicion de paginas web
Composicion de paginas webComposicion de paginas web
Composicion de paginas web
 
Juegos html5
Juegos html5Juegos html5
Juegos html5
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 

Último

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

Introducción de canvas y de svg html5

  • 1. Introducción de Canvas en HTML5 CANVAS ES UNO DE LOS COMPONENTES MÁS NOVEDOSOS DE ESTÁNDAR HTML 5 QUE SIRVE PARA DIBUJAR DINÁMICAMENTE IMÁGENES EN UNA PÁGINA WEB.
  • 2. Novedades de HTML5  HTML 5 viene con varias novedades interesantes y una de las que podemos empezar a probar ya es el Canvas. Canvas significa en español algo así como lienzo y es básicamente eso, un área donde podemos dibujar como si fuera un lienzo.  El elemento canvas permite especificar un área de la página donde se puede, a través de scripts, dibujar y rende rizar imágenes, lo que amplía notablemente las posibilidades de las páginas dinámicas y permite hacer cosas que hasta ahora estaban reservadas a los desarrolladores en Flash, con la ventaja que para usar canvas no será necesario ningún plugin en el navegador, lo que mejorará la disponibilidad de esta nueva aplicación.
  • 3. Compatibilidad de Canvas  El canvas se desarrolló inicialmente por Apple para su navegador Safari y luego fue utilizado y estandarizado por la organización WHATWG para incorporarlo a HTML 5. Posteriormente también ha sido adoptado por navegadores como Firefox y Opera. Por lo que respecta a Chrome, es un navegador que utiliza el mismo motor de rende rizado que Safari, por lo que también soporta el elemento Canvas.  De entre los navegadores más habituales sólo nos queda por soportar canvas el siempre polémico Internet Explorer. La última versión del navegador en el momento de escribir este artículo, Internet Explorer 8, no soporta canvas con funciones nativas, pero existen diversos proyectos y plugins que pueden ampliar las funcionalidades del navegador para dar soporte a este nuevo elemento del HTML 5. Por ejemplo, existe el proyecto Explorer Canvas en el que se ha preparado un plugin para que Explorer soporte el dibujo 2d que permite canvas.
  • 4.  Sin embargo, aunque en diversos frentes se ha comenzado a utilizar Canvas, la falta de soporte de Explorer hace que todavía no sea muy recomendable su incorporación a las aplicaciones web, ya que la mayoría de los usuarios, que utilizan Explorer, no podrían ver las partes de la página donde se utiliza canvas. Esta situación se espera que cambie durante los próximos meses o años, puesto que la incorporación de canvas al HTML 5 ya es una realidad e Internet Explorer más tarde o temprano tendrá que dar soporte esta utilidad en su navegador, si no quiere que se descarte su utilización por parte de los usuarios que deseen acceder a los servicios web más avanzados.
  • 5. Polémica por la propiedad intelectual de Canvas  Uno de los problemas de canvas es que se creó bajo propiedad intelectual de Apple, es decir que dicha empresa era la creadora de la ingeniería que daba soporte a este nuevo elemento y por tanto se encontraba bajo patentes de la compañía. Este hecho, añadido a la existencia de un formato abierto que sirve para hacer cosas similares como es el SVG, hizo que surgiera una polémica sobre la aceptación de este elemento en el nuevo estándar del HTML 5.
  • 6. Aplicaciones de uso de Canvas  Canvas permite dibujar en la página y actualizar dinámicamente estos dibujos, por medio de scripts y atendiendo a las acciones del usuario. Todo esto da unas posibilidades de uso tan grandes como las que disponemos con el plugin de Flash, en lo que respecta a renderización de contenidos dinámicos. Las aplicaciones pueden ser grandes como podamos imaginar, desde juegos, efectos dinámicos en interfaces de usuario, editores de código, editores gráficos, aplicaciones, efectos 3D, etc.  Actualmente algunas de las aplicaciones más novedosas para para la web utilizan ya canvas para su funcionamiento, donde se puede destacar Bespin, un editor de código de Mozilla, o Google Wave. En la entrada de la Wiki sobre Canvas podemos encontrar diversos enlaces a sitios web con ejemplos de uso de este elemento del HTML 5.
  • 8. <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="200" height="100" style="border:5px solid blue;"> </canvas> </body> </html> Ejemplo de un rectángulo realizado con Canvas
  • 9. <html> <body> <canvas id="myCanvas" width="200" height="100" style="border:5px solid red;"></canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ctx.stroke(); </script> </body> </html> Ejemplo de un circulo realizado con Canvas.
  • 10. Introducción a SVG en HTML5 SVG SIGNIFICA VECTORES GRÁFICOS ESCALABLES. DICHO ASÍ TAL VEZ NO LO ENTENDAMOS, PERO LO ENTENDEREMOS MEJOR SI DECIMOS QUE ES UNA APLICACIÓN PARA HACER DIBUJOS, BANNERS, GRÁFICOS, ETC. TANTO ESTÁTICOS COMO ANIMADOS.
  • 11. Diferencias entre Canvas y SVG  Con SGV podemos hacer las mismas cosas que con canvas, sin embargo su forma de trabajar es diferente.  Mientras que con canvas los dibujos se crean mediante píxeles. Con SVG se crean mediante gráficos vectoriales. Esto significa que el dibujo se adapta al tamaño, de forma que al ampliarlo o reducirlo en la pantalla se muestra siempre uniforme y no muestra los contornos de los píxeles para ampliaciones muy grandes. Esto en pantalla tal vez no tenga mucha importancia, pero si queremos imprimirlo en un tamaño grande los dibujos hechos con SVG muestran un mejor acabado.
  • 12. Sus principales características  SVG es fácil de usar, ya que se basa en el lenguaje XML, es decir el mismo lenguaje de etiquetas que usa HTML. Esto significa que no tenemos que usar java script ni otro lenguaje diferente del HTML para incorporar figuras SVG en la página, ya que el XML es el mismo lenguaje de base que utilizan tanto HTML como SVG. Podemos por tanto crear las figuras y dibujos con SVG mediante etiquetas que incorporamos al lenguaje HTML.  Al estar el código SVG formado por los mismos elementos que el HTML podemos también aplicarle los lenguajes CSS y java script.  Con CSS podemos indicar el estilo de los distintos elementos. Para ello disponemos además de las propiedades habituales de CSS de algunas propiedades especiales para estos elementos que veremos más adelante.  Con java script podemos dar movimiento a los elementos creados con SVG y realizar otra serie de efectos (aparición, desaparición, agrandar, etc.). También podemos realizar estos efectos mediante CSS3. Sin embargo también podemos crear animaciones mediante el código SVG, sin necesidad de utilizar java script ni CSS3, Veremos todo esto más adelante en este manual.
  • 13. Compatibilidad con navegadores.  SVG es compatible con todos los navegadores en sus versiones modernas, si bien en Internet Explorer sólo es compatible con las versiones 9 en adelante. Para versiones anteriores es necesario usar un plugin.
  • 14. Introducir código SVG en la página Para introducir un elemento SVG en la página podemos utilizar la etiqueta <svg> ... </svg>. Este es el elemento contenedor dentro del cual dibujaremos los demás elementos. Debemos indicar mediante los atributos witdh y height la anchura y la altura del elemento contenedor, o podemos indicarlo también mediante código CSS. En todo caso hay que dar siempre una altura y anchura este elemento. También podemos poner el elemento SVG en un archivo aparte, para después incorporarlo a la página en el sitio que queramos. Para ello creamos un nuevo archivo en el que incorporamos el código SVG. El código va encerrado dentro de la etiqueta "svg". Al ser éste un lenguaje XML es conveniente poner en la etiqueta los atributos de este lenguaje. Después pondremos el código en SVG y al final cerramos la etiqueta SVG. Todo ello lo guardaremos en un archivo aparte con la extensión .svg, por ejemplo circulo.svg. Para incluir después este archivo en la página podemos hacerlo de varias maneras:  Como imagen: incluyéndolo dentro del atributo src: <img src="circulo.sgv" alt="circulo" width="200" height="200">  Como iframe: incluyéndolo dentro del atributo src: <iframe src="circulo.svg" width="200" height="200"></iframe>  Con la etiqueta embed; atributos src, width y height: <embed src="circulo.svg" height="200" width="200" />  Con la etiqueta object; atributos data width y height: <object data="circulo.svg" width="200" height="200"></object> En cualquier caso debemos incluir la ruta del archivo, y la altura y anchura de la ventana donde veremos el SVG (atributos "height" y "width").
  • 15. <!DOCTYPE html> <html> <body> <svg width="400" height="180"> <rect x="50" y="20" rx="20" ry="20" width="150“ height="150“ style="fill:red;stroke:black;stroke-width:5;opacity:0.5" /> </svg> </body> </html> Ejemplo de un cuadrado realizado con SVG.
  • 16. <!DOCTYPE html> <html> <body> <svg width="100" height="100"> <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" /> </svg> </body> </html> Ejemplo de un circulo realizado con SVG.