SlideShare una empresa de Scribd logo
Introducción a la informática 2017 1
Canvas
canvas
Manuela López Cardona
Departamento de ingenierías, Universidad Tecnológica de Pereira, Colombia
Correo-e: manulc1199@gmail.com
Resumen— es un elemento HTML el cual puede ser usado para
dibujar gráficos usando scripts (normalmente JavaScript). Este
puede, por ejemplo, ser usado para dibujar gráficos, realizar
composición de fotos o simples (y no tan simples) animaciones. Las
imágenes a la derecha muestran algunos ejemplos de
implementaciones canvas las cuales se verán en un futuro en este
tutorial.
Palabras clave— Figuras, Gráficos, HTML, Programación.
Abstract—
is an HTML element which can be used to draw graphs using
scripts (usually JavaScript). This can, for example, be used to
draw graphics, perform photo composition or simple (and not so
simple) animations. The images on the right are examples of
<canvas> implementations which are in the future in thistutorial.
Key Word — Figures, Graphics, HTML, Programming.
I. INTRODUCCIÓN
canvas es un nuevo elemento HTML que puede usarse para
dibujar gráficos a través de scripting (normalmente JavaScript).
Por ejemplo, puede emplearse para dibujar gráficos, hacer
composición de fotos, crear animaciones e incluso
procesamiento de vídeo en tiempo real.
Las aplicaciones de Mozilla han implementado canvas a partir
de Gecko 1.8 (es decir, Firefox 1.5). El elemento fue presentado
originalmente por Apple para OS X Dashboard y Safari.
Internet Explorer soporta canvas desde la versión 9 en adelante,
para versiones anteriores de IE, una página web puede añadir
la compatibilidad de forma eficaz incluyendo un script que se
puede descargardesde el proyecto Explorer Canvas de Google.
Google Chrome y Opera 9 también soportan canvas.
II. CONTENIDO
2.1 Antes de empezar
Usar el elemento canvas no es algo muy difícil pero necesita
saber y entender los aspectos básicos del HTML y JavaScript.
El elemento canvas no está soportado en navegadores viejos,
pero están soportado en la mayoría de las versiones más
recientes de los navegadores.El tamaño por defecto del canvas
es 300px * 150px [ancho (width) * alto (height)]. Pero se puede
personalizar el tamaño usando las propiedades height y width
de CSS. Con el fin de dibujar gráficos en el lienzo canvas se
utiliza un objeto de contexto de JavaScript que crea gráficos
sobre la marcha.
El Canvas consiste en una región dibujable definida en el
código HTML con atributos de altura y ancho. El código
JavaScript puede acceder a la zona a través de un conjunto
completo de funciones similares a las de otras APIs comunes
de dibujo 2D, permitiendo así que los gráficos sean generados
dinámicamente. Algunos de los usos previstos incluyen
construcción de gráficos, animaciones, juegos, y la
composición de imágenes.
Canvas permite realizar gráficos de todo tipo, desde una línea
recta hasta juegos interactivos, también permite manipular
imágenes para cambiarles el tono, buscar bordes, aplicaciones
de visión artificial, etc. En este artículo veremos sólo una
introducción al mundo Canvas.
2.2 Ejemplos
2.2.1 Vamos a verun ejemplo sencillo que dibuja un rectángulo
gris de 450 x 350 pixels ocupando todo el Canvas. Sobre este
ejemplo explicaremos los conceptos básicos sobre Canvas.
<html>
<head>
<title>Ejemplo1 Canvas </title>
<script type="text/javascript">
function dibujarCanvas(){
var canvas = document.getElementById('miCanvas');
var contexto = canvas.getContext('2d');
contexto.fillStyle = '# F333FF';
contexto.fillRect (0, 0, 450, 350);
}
</script>
</head>
<body onLoad="dibujarCanvas();">
<p>Dibujo con Canvas:</p>
<canvas id="miCanvas" width="450" height="350">Su
navegador no soporta Canvas.</canvas>
</body>
</html>
Introduccióna la Informática 20172
2.2.2 dibujar un triangulo línea por línea para después
rellenarlo.
<html>
<head>
<title>Ejemplo2 Canvas </title>
<script type="text/javascript">
function dibujarCanvas(){
var canvas = document.getElementById('miCanvas');
var contexto = canvas.getContext('2d');
// a. Forma abierta
contexto.beginPath();
contexto.moveTo(50,50);
contexto.lineTo(50,150);
contexto.lineTo(150,150);
contexto.stroke();
// b. Forma cerrada con relleno
contexto.beginPath();
contexto.moveTo(200,50);
contexto.lineTo(200,150);
contexto.lineTo(300,150);
contexto.fill();
// c. Forma cerrada sin relleno
contexto.beginPath();
contexto.moveTo(50,200);
contexto.lineTo(50,300);
contexto.lineTo(150,300);
contexto.closePath();
contexto.stroke();
}
</script>
</head>
<body onLoad="dibujarCanvas();">
<canvas id="miCanvas" width="450" height="350">Su
navegador no soporta Canvas.</canvas>
</body>
</html>
2.2.3 Arcos
<html>
<head>
<title>Ejemplo3 Canvas </title>
<script type="text/javascript">
function dibujarCanvas(){
var canvas = document.getElementById('miCanvas');
var contexto = canvas.getContext('2d');
// a. Arco desde 0 grados hasta 90 grados en
sentido de las agujas del reloj
contexto.beginPath();
contexto.arc(60,60,50,radianes('0'),radianes('90'),false);
contexto.stroke();
// b. Arco desde 0 grados hasta 90 grados en
sentido contrario de las agujas del reloj
contexto.beginPath();
contexto.arc(200,60,50,radianes('0'),radianes('90'),true);
contexto.stroke();
// c. Arco desde 90 grados hasta 270 grados
en sentido de las agujas del reloj
contexto.beginPath();
contexto.arc(350,60,50,radianes('90'),radianes('270'));
contexto.stroke();
}
function radianes(grados){
var radianes = (Math.PI/180)*grados;
return radianes;
}
</script>
</head>
<body onLoad="dibujarCanvas();">
<canvas id="miCanvas" width="450" height="350">Su
navegador no soporta Canvas.</canvas>
</body>
</html>
Introducción a la Informática 2017. 3
2.2.4 dibujar un caracol
<html>
<head>
<title>Ejemplo 5 Canvas </title>
<script type="text/javascript">
function dibujarCanvas(){
var canvas = document.getElementById('miCanvas');
var contexto = canvas.getContext('2d');
// primera formaa, dibujar espiral
contexto.beginPath();
var x=100; // x centro espiral
var y=70; // y centro espiral
var r=0; // radio inicial
var incre=3; // incremento del radio
var vueltas=5; // vueltas
for(var i=1;i<=vueltas;i++){
contexto.arc(x,y,r=r+incre, 0,radianes(90),false);
contexto.arc(x,y-incre,r=r+incre,
radianes(90),radianes(180),false);
contexto.arc(x+incre,y-
incre,r=r+incre,radianes(180),radianes(270),false);
contexto.arc(x+incre,y,r=r+incre, radianes(270),0,false);
}
contexto.lineWidth = 4; // ancho de línea
contexto.fillStyle = '#99CC00'; // verde
contexto.fill(); // dibujar relleno
contexto.strokeStyle = 'rgb(1,64,224)'; // azul
contexto.stroke(); // dibujar trazo
// segunda forma, circulo y segmento
contexto.beginPath();
contexto.arc(330,30,15, radianes(0),radianes(360),false);
contexto.moveTo(380,30);
contexto.lineTo(400,30);
contexto.lineWidth = 6;
contexto.fillStyle = '#FFFF99'; // amarillo
contexto.fill();
contexto.stroke();
// tercera forma rectangulo rojo transparente
contexto.fillStyle = 'rgba(221,64,4, 0.2)'; // rojo transparente
contexto.fillRect(300,5,125,75);
}
function radianes(grados){
var radianes = (Math.PI/180)*grados;
return radianes;
}
</script>
</head>
<body onLoad="dibujarCanvas();">
<canvas id="miCanvas" width="450" height="350">Su
navegador no soporta Canvas.</canvas>
</body>
</html>
2.2.5 Degrade en formas
<html>
<head>
<title>Ejemplo 6 Canvas </title>
<script type="text/javascript">
function dibujarCanvas(){
var canvas = document.getElementById('miCanvas');
var contexto = canvas.getContext('2d');
// gradiente lineal vertical
var gradienteLineal =
contexto.createLinearGradient(0,0,0,100);
gradienteLineal.addColorStop(0, 'rgb(255,0,0)'); // rojo
gradienteLineal.addColorStop(0.5, '#fff'); // blanco
gradienteLineal.addColorStop(1, 'rgb(50,220,0)'); // verde
contexto.fillStyle = gradienteLineal;
contexto.fillRect(0,0,100,100);
// gradiente lineal horizontal
var gradienteLineal =
contexto.createLinearGradient(120,0,220,0);
gradienteLineal.addColorStop(0, 'rgb(255,0,0)');
gradienteLineal.addColorStop(0.5, '#fff');
gradienteLineal.addColorStop(1, 'rgb(50,220,0)');
contexto.fillStyle = gradienteLineal;
contexto.fillRect(120,0,100,100);
// gradiente lineal diagonal
var gradienteLineal =
contexto.createLinearGradient(230,0,330,100);
gradienteLineal.addColorStop(0, 'rgb(255,0,0)');
Introduccióna la Informática 20174
gradienteLineal.addColorStop(0.5, '#fff');
gradienteLineal.addColorStop(1, 'rgb(50,220,0)');
contexto.fillStyle = gradienteLineal;
contexto.fillRect(230,0,100,100);
// gradiente lineal sobre trazo
var gradienteLineal =
contexto.createLinearGradient(0,110,0,210);
gradienteLineal.addColorStop(0, 'red'); // rojo
gradienteLineal.addColorStop(1, 'white'); // blanco
contexto.strokeStyle = gradienteLineal;
contexto.strokeRect(10,110,30,100);
// gradiente lineal sobre relleno
contexto.fillStyle = gradienteLineal;
contexto.fillRect(50,110,50,100);
// gradiente radial efecto esfera
var gradienteRadial =
contexto.createRadialGradient(160,160,1,170,150,30);
gradienteRadial.addColorStop(0, '#FFFFFF');
gradienteRadial.addColorStop(0.9, 'rgba(255,0,0,1)'); // rojo
gradienteRadial.addColorStop(1, 'rgba(255,0,0,0)'); // rojo
transparente
contexto.fillStyle = gradienteRadial;
contexto.fillRect(120,110,150,150);
// gradiente radial uniforme
var gradienteRadial =
contexto.createRadialGradient(280,160,1,280,160,190);
gradienteRadial.addColorStop(0, '#FFFFFF');
gradienteRadial.addColorStop(0.7, 'rgba(255,0,0,1)'); // rojo
gradienteRadial.addColorStop(1, 'rgba(255,0,0,1)'); // rojo
transparente
contexto.fillStyle = gradienteRadial;
contexto.fillRect(230,110,100,100);
}
</script>
</head>
<body onLoad="dibujarCanvas();">
<canvas id="miCanvas" width="450" height="350">Su
navegador no soporta Canvas.</canvas>
</body>
</html>
III. CONCLUSIONES
Se concluye que canvas es un elemento de HTML que nos
permite dibujar, círculos, cuadrados, triangulo, rombos, arcos,
líneas, cuadrados y cualquier figura o forma que se venga a
nuestra mente de una manera sencilla y rápida usando el código
HTML.
BIBLIOGRAFIA
[1]. http://www.aulaclic.es/articulos/canvas_3.html
[2].https://developer.mozilla.org/es/docs/Web/HTML/Canvas
[3].https://developer.mozilla.org/es/docs/Web/Guide/HTML/
Canvas_tutorial

Más contenido relacionado

Similar a Canvas

SVG Dibujando en la Web
SVG Dibujando en la WebSVG Dibujando en la Web
SVG Dibujando en la Web
Miguel Angel Cumpa Ascuña
 
Estilo & CSS3
Estilo & CSS3Estilo & CSS3
Estilo & CSS3
ccarruitero
 
Introducción de canvas y de svg html5
Introducción de canvas y de svg  html5Introducción de canvas y de svg  html5
Introducción de canvas y de svg html5
CarlosGonzalezGalvez
 
Curso HTML 5 & jQuery - Leccion 10
Curso HTML 5 & jQuery - Leccion 10Curso HTML 5 & jQuery - Leccion 10
Curso HTML 5 & jQuery - Leccion 10
Emmanuel Ortiz Gutierrez
 
Tutorial de Java
Tutorial de JavaTutorial de Java
Tutorial de Java
equipotresamp
 
HTML5 Canvas
HTML5 CanvasHTML5 Canvas
HTML5 Canvas
Jesus Vargas
 
02. Interactuando con controles de UI
02. Interactuando con controles de UI02. Interactuando con controles de UI
02. Interactuando con controles de UI
Danae Aguilar Guzmán
 
Decimo 2
Decimo 2Decimo 2
Decimo 2
johana20
 
Dreamweaver-Tratamiento de imágenes
Dreamweaver-Tratamiento de imágenesDreamweaver-Tratamiento de imágenes
Dreamweaver-Tratamiento de imágenes
Eliana Navarro J
 
final
finalfinal
Canvas HTML5
Canvas HTML5Canvas HTML5
Canvas HTML5
Luiscarrillo90
 
5.java script
5.java script5.java script
06_Nuevas reglas.pptx
06_Nuevas reglas.pptx06_Nuevas reglas.pptx
06_Nuevas reglas.pptx
yendrao
 
09. Creando interfaces de usuario animadas y adaptables
09. Creando interfaces de usuario animadas y adaptables09. Creando interfaces de usuario animadas y adaptables
09. Creando interfaces de usuario animadas y adaptables
Danae Aguilar Guzmán
 
Semana 3 Responsive Design y Media Queries
Semana 3   Responsive Design y Media QueriesSemana 3   Responsive Design y Media Queries
Semana 3 Responsive Design y Media Queries
Richard Eliseo Mendoza Gafaro
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
Fernando Esteban Pasik
 
Practica03
Practica03Practica03
Practica03
Itzcel FriRios
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
ljds
 
Imagenes
ImagenesImagenes
Powerpoint de inskape
Powerpoint de inskapePowerpoint de inskape
Powerpoint de inskape
ramiandy
 

Similar a Canvas (20)

SVG Dibujando en la Web
SVG Dibujando en la WebSVG Dibujando en la Web
SVG Dibujando en la Web
 
Estilo & CSS3
Estilo & CSS3Estilo & CSS3
Estilo & CSS3
 
Introducción de canvas y de svg html5
Introducción de canvas y de svg  html5Introducción de canvas y de svg  html5
Introducción de canvas y de svg html5
 
Curso HTML 5 & jQuery - Leccion 10
Curso HTML 5 & jQuery - Leccion 10Curso HTML 5 & jQuery - Leccion 10
Curso HTML 5 & jQuery - Leccion 10
 
Tutorial de Java
Tutorial de JavaTutorial de Java
Tutorial de Java
 
HTML5 Canvas
HTML5 CanvasHTML5 Canvas
HTML5 Canvas
 
02. Interactuando con controles de UI
02. Interactuando con controles de UI02. Interactuando con controles de UI
02. Interactuando con controles de UI
 
Decimo 2
Decimo 2Decimo 2
Decimo 2
 
Dreamweaver-Tratamiento de imágenes
Dreamweaver-Tratamiento de imágenesDreamweaver-Tratamiento de imágenes
Dreamweaver-Tratamiento de imágenes
 
final
finalfinal
final
 
Canvas HTML5
Canvas HTML5Canvas HTML5
Canvas HTML5
 
5.java script
5.java script5.java script
5.java script
 
06_Nuevas reglas.pptx
06_Nuevas reglas.pptx06_Nuevas reglas.pptx
06_Nuevas reglas.pptx
 
09. Creando interfaces de usuario animadas y adaptables
09. Creando interfaces de usuario animadas y adaptables09. Creando interfaces de usuario animadas y adaptables
09. Creando interfaces de usuario animadas y adaptables
 
Semana 3 Responsive Design y Media Queries
Semana 3   Responsive Design y Media QueriesSemana 3   Responsive Design y Media Queries
Semana 3 Responsive Design y Media Queries
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Practica03
Practica03Practica03
Practica03
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
 
Imagenes
ImagenesImagenes
Imagenes
 
Powerpoint de inskape
Powerpoint de inskapePowerpoint de inskape
Powerpoint de inskape
 

Más de Manuela Lopez Cardona

Recursividad
RecursividadRecursividad
Recursividad
Manuela Lopez Cardona
 
Conjuntos
ConjuntosConjuntos
Conteo
ConteoConteo
Javascript
JavascriptJavascript
Javascript
JavascriptJavascript
Ejercicios geogebra
Ejercicios geogebraEjercicios geogebra
Ejercicios geogebra
Manuela Lopez Cardona
 
Geogebra
GeogebraGeogebra
La recursividad
La recursividadLa recursividad
La recursividad
Manuela Lopez Cardona
 

Más de Manuela Lopez Cardona (8)

Recursividad
RecursividadRecursividad
Recursividad
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
Conteo
ConteoConteo
Conteo
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
Ejercicios geogebra
Ejercicios geogebraEjercicios geogebra
Ejercicios geogebra
 
Geogebra
GeogebraGeogebra
Geogebra
 
La recursividad
La recursividadLa recursividad
La recursividad
 

Último

3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 

Canvas

  • 1. Introducción a la informática 2017 1 Canvas canvas Manuela López Cardona Departamento de ingenierías, Universidad Tecnológica de Pereira, Colombia Correo-e: manulc1199@gmail.com Resumen— es un elemento HTML el cual puede ser usado para dibujar gráficos usando scripts (normalmente JavaScript). Este puede, por ejemplo, ser usado para dibujar gráficos, realizar composición de fotos o simples (y no tan simples) animaciones. Las imágenes a la derecha muestran algunos ejemplos de implementaciones canvas las cuales se verán en un futuro en este tutorial. Palabras clave— Figuras, Gráficos, HTML, Programación. Abstract— is an HTML element which can be used to draw graphs using scripts (usually JavaScript). This can, for example, be used to draw graphics, perform photo composition or simple (and not so simple) animations. The images on the right are examples of <canvas> implementations which are in the future in thistutorial. Key Word — Figures, Graphics, HTML, Programming. I. INTRODUCCIÓN canvas es un nuevo elemento HTML que puede usarse para dibujar gráficos a través de scripting (normalmente JavaScript). Por ejemplo, puede emplearse para dibujar gráficos, hacer composición de fotos, crear animaciones e incluso procesamiento de vídeo en tiempo real. Las aplicaciones de Mozilla han implementado canvas a partir de Gecko 1.8 (es decir, Firefox 1.5). El elemento fue presentado originalmente por Apple para OS X Dashboard y Safari. Internet Explorer soporta canvas desde la versión 9 en adelante, para versiones anteriores de IE, una página web puede añadir la compatibilidad de forma eficaz incluyendo un script que se puede descargardesde el proyecto Explorer Canvas de Google. Google Chrome y Opera 9 también soportan canvas. II. CONTENIDO 2.1 Antes de empezar Usar el elemento canvas no es algo muy difícil pero necesita saber y entender los aspectos básicos del HTML y JavaScript. El elemento canvas no está soportado en navegadores viejos, pero están soportado en la mayoría de las versiones más recientes de los navegadores.El tamaño por defecto del canvas es 300px * 150px [ancho (width) * alto (height)]. Pero se puede personalizar el tamaño usando las propiedades height y width de CSS. Con el fin de dibujar gráficos en el lienzo canvas se utiliza un objeto de contexto de JavaScript que crea gráficos sobre la marcha. El Canvas consiste en una región dibujable definida en el código HTML con atributos de altura y ancho. El código JavaScript puede acceder a la zona a través de un conjunto completo de funciones similares a las de otras APIs comunes de dibujo 2D, permitiendo así que los gráficos sean generados dinámicamente. Algunos de los usos previstos incluyen construcción de gráficos, animaciones, juegos, y la composición de imágenes. Canvas permite realizar gráficos de todo tipo, desde una línea recta hasta juegos interactivos, también permite manipular imágenes para cambiarles el tono, buscar bordes, aplicaciones de visión artificial, etc. En este artículo veremos sólo una introducción al mundo Canvas. 2.2 Ejemplos 2.2.1 Vamos a verun ejemplo sencillo que dibuja un rectángulo gris de 450 x 350 pixels ocupando todo el Canvas. Sobre este ejemplo explicaremos los conceptos básicos sobre Canvas. <html> <head> <title>Ejemplo1 Canvas </title> <script type="text/javascript"> function dibujarCanvas(){ var canvas = document.getElementById('miCanvas'); var contexto = canvas.getContext('2d'); contexto.fillStyle = '# F333FF'; contexto.fillRect (0, 0, 450, 350); } </script> </head> <body onLoad="dibujarCanvas();"> <p>Dibujo con Canvas:</p> <canvas id="miCanvas" width="450" height="350">Su navegador no soporta Canvas.</canvas> </body> </html>
  • 2. Introduccióna la Informática 20172 2.2.2 dibujar un triangulo línea por línea para después rellenarlo. <html> <head> <title>Ejemplo2 Canvas </title> <script type="text/javascript"> function dibujarCanvas(){ var canvas = document.getElementById('miCanvas'); var contexto = canvas.getContext('2d'); // a. Forma abierta contexto.beginPath(); contexto.moveTo(50,50); contexto.lineTo(50,150); contexto.lineTo(150,150); contexto.stroke(); // b. Forma cerrada con relleno contexto.beginPath(); contexto.moveTo(200,50); contexto.lineTo(200,150); contexto.lineTo(300,150); contexto.fill(); // c. Forma cerrada sin relleno contexto.beginPath(); contexto.moveTo(50,200); contexto.lineTo(50,300); contexto.lineTo(150,300); contexto.closePath(); contexto.stroke(); } </script> </head> <body onLoad="dibujarCanvas();"> <canvas id="miCanvas" width="450" height="350">Su navegador no soporta Canvas.</canvas> </body> </html> 2.2.3 Arcos <html> <head> <title>Ejemplo3 Canvas </title> <script type="text/javascript"> function dibujarCanvas(){ var canvas = document.getElementById('miCanvas'); var contexto = canvas.getContext('2d'); // a. Arco desde 0 grados hasta 90 grados en sentido de las agujas del reloj contexto.beginPath(); contexto.arc(60,60,50,radianes('0'),radianes('90'),false); contexto.stroke(); // b. Arco desde 0 grados hasta 90 grados en sentido contrario de las agujas del reloj contexto.beginPath(); contexto.arc(200,60,50,radianes('0'),radianes('90'),true); contexto.stroke(); // c. Arco desde 90 grados hasta 270 grados en sentido de las agujas del reloj contexto.beginPath(); contexto.arc(350,60,50,radianes('90'),radianes('270')); contexto.stroke(); } function radianes(grados){ var radianes = (Math.PI/180)*grados; return radianes; } </script> </head> <body onLoad="dibujarCanvas();"> <canvas id="miCanvas" width="450" height="350">Su navegador no soporta Canvas.</canvas> </body> </html>
  • 3. Introducción a la Informática 2017. 3 2.2.4 dibujar un caracol <html> <head> <title>Ejemplo 5 Canvas </title> <script type="text/javascript"> function dibujarCanvas(){ var canvas = document.getElementById('miCanvas'); var contexto = canvas.getContext('2d'); // primera formaa, dibujar espiral contexto.beginPath(); var x=100; // x centro espiral var y=70; // y centro espiral var r=0; // radio inicial var incre=3; // incremento del radio var vueltas=5; // vueltas for(var i=1;i<=vueltas;i++){ contexto.arc(x,y,r=r+incre, 0,radianes(90),false); contexto.arc(x,y-incre,r=r+incre, radianes(90),radianes(180),false); contexto.arc(x+incre,y- incre,r=r+incre,radianes(180),radianes(270),false); contexto.arc(x+incre,y,r=r+incre, radianes(270),0,false); } contexto.lineWidth = 4; // ancho de línea contexto.fillStyle = '#99CC00'; // verde contexto.fill(); // dibujar relleno contexto.strokeStyle = 'rgb(1,64,224)'; // azul contexto.stroke(); // dibujar trazo // segunda forma, circulo y segmento contexto.beginPath(); contexto.arc(330,30,15, radianes(0),radianes(360),false); contexto.moveTo(380,30); contexto.lineTo(400,30); contexto.lineWidth = 6; contexto.fillStyle = '#FFFF99'; // amarillo contexto.fill(); contexto.stroke(); // tercera forma rectangulo rojo transparente contexto.fillStyle = 'rgba(221,64,4, 0.2)'; // rojo transparente contexto.fillRect(300,5,125,75); } function radianes(grados){ var radianes = (Math.PI/180)*grados; return radianes; } </script> </head> <body onLoad="dibujarCanvas();"> <canvas id="miCanvas" width="450" height="350">Su navegador no soporta Canvas.</canvas> </body> </html> 2.2.5 Degrade en formas <html> <head> <title>Ejemplo 6 Canvas </title> <script type="text/javascript"> function dibujarCanvas(){ var canvas = document.getElementById('miCanvas'); var contexto = canvas.getContext('2d'); // gradiente lineal vertical var gradienteLineal = contexto.createLinearGradient(0,0,0,100); gradienteLineal.addColorStop(0, 'rgb(255,0,0)'); // rojo gradienteLineal.addColorStop(0.5, '#fff'); // blanco gradienteLineal.addColorStop(1, 'rgb(50,220,0)'); // verde contexto.fillStyle = gradienteLineal; contexto.fillRect(0,0,100,100); // gradiente lineal horizontal var gradienteLineal = contexto.createLinearGradient(120,0,220,0); gradienteLineal.addColorStop(0, 'rgb(255,0,0)'); gradienteLineal.addColorStop(0.5, '#fff'); gradienteLineal.addColorStop(1, 'rgb(50,220,0)'); contexto.fillStyle = gradienteLineal; contexto.fillRect(120,0,100,100); // gradiente lineal diagonal var gradienteLineal = contexto.createLinearGradient(230,0,330,100); gradienteLineal.addColorStop(0, 'rgb(255,0,0)');
  • 4. Introduccióna la Informática 20174 gradienteLineal.addColorStop(0.5, '#fff'); gradienteLineal.addColorStop(1, 'rgb(50,220,0)'); contexto.fillStyle = gradienteLineal; contexto.fillRect(230,0,100,100); // gradiente lineal sobre trazo var gradienteLineal = contexto.createLinearGradient(0,110,0,210); gradienteLineal.addColorStop(0, 'red'); // rojo gradienteLineal.addColorStop(1, 'white'); // blanco contexto.strokeStyle = gradienteLineal; contexto.strokeRect(10,110,30,100); // gradiente lineal sobre relleno contexto.fillStyle = gradienteLineal; contexto.fillRect(50,110,50,100); // gradiente radial efecto esfera var gradienteRadial = contexto.createRadialGradient(160,160,1,170,150,30); gradienteRadial.addColorStop(0, '#FFFFFF'); gradienteRadial.addColorStop(0.9, 'rgba(255,0,0,1)'); // rojo gradienteRadial.addColorStop(1, 'rgba(255,0,0,0)'); // rojo transparente contexto.fillStyle = gradienteRadial; contexto.fillRect(120,110,150,150); // gradiente radial uniforme var gradienteRadial = contexto.createRadialGradient(280,160,1,280,160,190); gradienteRadial.addColorStop(0, '#FFFFFF'); gradienteRadial.addColorStop(0.7, 'rgba(255,0,0,1)'); // rojo gradienteRadial.addColorStop(1, 'rgba(255,0,0,1)'); // rojo transparente contexto.fillStyle = gradienteRadial; contexto.fillRect(230,110,100,100); } </script> </head> <body onLoad="dibujarCanvas();"> <canvas id="miCanvas" width="450" height="350">Su navegador no soporta Canvas.</canvas> </body> </html> III. CONCLUSIONES Se concluye que canvas es un elemento de HTML que nos permite dibujar, círculos, cuadrados, triangulo, rombos, arcos, líneas, cuadrados y cualquier figura o forma que se venga a nuestra mente de una manera sencilla y rápida usando el código HTML. BIBLIOGRAFIA [1]. http://www.aulaclic.es/articulos/canvas_3.html [2].https://developer.mozilla.org/es/docs/Web/HTML/Canvas [3].https://developer.mozilla.org/es/docs/Web/Guide/HTML/ Canvas_tutorial