<canvas id="nombre" width="valor" height="valor"></canvas>
Como aún no todos los navegadores la soportan, es aconsejable colocar algún tipo de contenido alternativo, un texto, una imagen, algo que advierta que allí habrá algo; por ejemplo:
<canvas id="nombre" width="valor" height="valor"> ... aquí hay algo ... </canvas>
El script lo descargamos y lo agregamos de manera condicional (más información):
<!--[if IE]><script src="URL_excanvas.js"></script><![endif]-->
var miCANVAS = document.getElementById("nombre"); if (miCANVAS.getContext) { var canvas = miCANVAS.getContext("2d"); // aquí lo manipularemos } else { // advertencia : el navegador no soporta canvas }
var miCANVAS = document.getElementById("nombre"); if (miCANVAS.getContext) { var canvas = miCANVAS.getContext("2d"); canvas.fillStyle = "#FFF"; canvas.fillRect (0,0,300,200); } else { // advertencia : el navegador no soporta canvas }
fillStyle = "color" donde el color puede escribirse en cualquier formato ( "white"; "#FFFFFF", "rgb(255,255,255)", "rgba(255,255,255,1)"
y con la segunda, dibujamos un rectángulo lleno:
fillRect(x,y,ancho,alto) donde x e y son las coordenadas de inicio
así que simplemente, hemos hecho que nuestro canvas sea de color blanco, dibujando un rectángulo lleno que es igual al tamaño total.
Los rectángulos son las formas más simples y tenemos dos opciones disponibles, rectángulos llenos como el anterior o rectángulos que sólo tengan un borde, para esto último usamos otra función:
strokeRect(x,y,ancho,alto)
Para estas cosas básicas, hay una función más que nos permite "borrar" (hacer que algo sea transparente):
clearRect(x,y,ancho,alto)
Todas esas funciones tienen los mismos parámetros, definimos dónde se dibujará (con x e y) y definimos su tamaño.
Creo tres funciones; con una, inicializo el lienzo, con otra dibujo rectángulos llenos y con otra cuadrados sin fondo; nada espectacular pero, para quien nada sabe de esto (yo) es un paso comparable al primer viaje a la luna.
<script type="text/javascript"> function iniCANVAS(cual){ var miCANVAS = document.getElementById(cual); if (miCANVAS.getContext) { var canvas=miCANVAS.getContext("2d"); canvas.fillStyle="#FFF"; canvas.fillRect (0,0,300,200); } } function drawSQUARES(cual,x1,y1,w,h,c) { var miCANVAS = document.getElementById(cual); if (miCANVAS.getContext) { var canvas=miCANVAS.getContext("2d"); canvas.fillStyle=c; canvas.fillRect(x1,y1,w,h); } } function drawRECS(cual,x1,y1,w,h,c) { var miCANVAS = document.getElementById(cual); if (miCANVAS.getContext) { var canvas=miCANVAS.getContext("2d"); canvas.fillStyle=c; canvas.strokeRect(x1,y1,w,h); } } </script> <canvas id="demo" width="300" height="200"> <img src="URL_imagenAlterna" /> </canvas> <script>iniCANVAS('demo')</script> <button type="button" onclick="drawSQUARES('demo',10,20,50,50,'#F00');"> rectangulo 1 </button> <button type="button" onclick="drawSQUARES('demo',30,100,70,50,'#00F');"> rectangulo 2 </button> <button type="button" onclick="drawRECS('demo',50,10,50,50,'#000');"> rectangulo 3 </button> <button type="button" onclick="drawRECS('demo',160,110,70,50,'#000');"> rectangulo 4 </button>
10 comentarios:
Es muy impresionante la posibilidad de guardarlos como imágenes, y mas si en el gráfico se pueden combinar imágenes y textos; en cierta manera se pueden emular algunas funcionalidades básicas de algunos servicios en la web para generar imágenes o animaciones, por ejemplo un "meme". :D
Hola, una consulta que no tiene que ver con esto.
Me gustaría poder poner las imagenes de Twitter, Facebook y Youtube en mi sidebar así como la tienes tu y que queden seguidas horizontalmente ya que me aparecen una arriba de la otra. Espero puedas ayudarme.
saludos
bastante buena esa comparación con el viaje a la luna jaja :D
como siempre dando muy buenos tutoriales :)
por cierto, ?no hay alguno sobre CSS para novatos como yo, algo asi como html elemental?
Muchas gracias :)
hohoho HTML5
so hot for discuss ;)
He comprobado que efectivamente te da la opción de guardar la imagen en Firefox, pero que eso no sucede en Chrome.
El HTML5 esta triunfando y se pueden hacer verdaderas maraviillas. En ese aspecto estoy verde todavia, poco a poco ire cogiendole el tranquillo. Saludos>>
Felipe
Es interesante para ver. Engorroso pero interesante.
Shishi-Kan Dojo
Habría que ver tu ejemplo concreto para resolver eso. En principio, si son enlaces con una imagen y no hay propiedades extras, se verán una al lado de la otra. Puede ser que al agregarlas, en el editor cree saltos de línea automático; eso se solucionaría escribiéndolas en una sola línea.
Pueden haber muchas otras alternativas, dependen de la plantilla; por eso, habría que verlo online para saber cuál es el motivo concreto.
CristJian
No, no he hecho nada sobre ese tema; lo más cerca que he llegado es a escribir estas dos entradas: 1 2
Raul Santos
Desconozco si Chrome requiere algo especial o simplemente no soporta esa función. Es algo que aún no está estandarizado.
gracias JMiur, tambien estaba revisando el CSS cascade que tienes en una entrada, está bastante interesante ese tutorial, he aprendido sobre lo básico y el orden jerárquico que tiene cada elemento del CSS :)
Muchas gracias :D
Me alegra que sirviera de algo, CristJian :D
Gracias JMiur ya lo he solucionado.
saludos
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
Nota: sólo los miembros de este blog pueden publicar comentarios.
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...