Foros del Web » Programando para Internet » Javascript »

Aplicar efecto Canvas

Estas en el tema de Aplicar efecto Canvas en el foro de Javascript en Foros del Web. Saludos a todos, tengo unos iconos a los que quiero aplicar un efecto Canvas, en el que estos tengan una tonalidad grisácea y al pasar ...
  #1 (permalink)  
Antiguo 09/10/2012, 09:52
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Aplicar efecto Canvas

Saludos a todos,

tengo unos iconos a los que quiero aplicar un efecto Canvas, en el que estos tengan una tonalidad grisácea y al pasar el cursor por ellos se iluminen (es decir, vuelva a su color original).

El código que uso detecta el primer elemento canvas y aplica el efecto Canvas.
Pero al tener varias imágenes a las que quiero aplicarles el efecto, son ignoradas por ir "detrás" en el DOM. Es decir, el script actual sólo detecta el primer tag "<canvas>" y el resto no.


Este es el código:

Función Javascript para el Canvas:

Código Javascript:
Ver original
  1. (function() {
  2.              var supportsCanvas = !!document.createElement('canvas').getContext;
  3.              supportsCanvas && (window.onload = greyImages);
  4.      
  5.              function greyImages() {
  6.                 var ctx = document.getElementsByTagName('canvas')[0].getContext('2d'),
  7.                 img = document.getElementById('mycanvas'),
  8.                 imageData, px, length, i = 0,
  9.                 red, green, blue, grey;
  10.      
  11.                 ctx.drawImage(img, 0, 0);
  12.      
  13.                 imageData = ctx.getImageData(0, 0, 640, 400);
  14.                 px = imageData.data;
  15.                 length = px.length;
  16.      
  17.                 for ( ; i < length; i+= 4 ) {
  18.                    // rgba
  19.                    grey = 0.3*px[i] + 0.59*px[i+1] + 0.11*px[i+2];
  20.                    px[i] = px[i+1] = px[i+2] = grey;
  21.                 }
  22.      
  23.                 ctx.putImageData(imageData, 0, 0);
  24.              }
  25.           })();



Código HTML.

Código HTML:
Ver original
  1. /*Esta imagen recibe el efecto*/
  2.      
  3.     <img src="imagen1.png" class="icono" [B]id="mycanvas"[/B] />
  4.     [B]<canvas width=50 height=50></canvas>[/B]
  5.      
  6.     /*Esta imagen no recibe el efecto*/
  7.      
  8.     <img src="imagen2.png" class="icono" [B]id="mycanvas"[/B] />
  9.     [B]<canvas width=50 height=50></canvas>[/B]



Me he puesto a toquetear el Javascript, pero nada. También he buscado, pero no he encontrado nada parecido.


En resumen: Lo que quiero es que, teniendo una sola función Javascript, baste con poner la misma clase a una imagen para que aplique a todas las que tengan esa clase en común el mismo efecto de Canvas (de "iluminar" una imagen).


Estoy bastante perdido. ¿Alguien sabe solucionar esto? Gracias.
  #2 (permalink)  
Antiguo 09/10/2012, 10:49
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Aplicar efecto Canvas

Bueno. Después de un breve descanso, parece que tenemos de nuevo una andanada de preguntas que a uno le da miedo responder.

Vamos a poner un poco de contexto, m3cubo. Debo suponer que si estás trabajando con canvas, entonces sabés javascript; porque este elemento ya no acepta atributos sino es a través de un escript. De otra forma, no lo podrías usar.

Pero mirando tu ejemplo (que deberías haber puesto completo, y entre etiquetas [code] si lo vas a colorear) veo que tenés problemas incluso con HTML.
¿De verdad no te fijaste que tenés dos id="mycanvas"? ¡Si hasta los destacaste! (O al menos, lo intentaste...)

Y en el escript ¿no viste que toma solamente el primero como referencia para dibujar el canvas (que por el tamaño, supongo que cubre a los otros)?

Tu problema no tiene nada que ver con el canvas. Es js elemental.
Al hacer


document.getElementsByTagName( 'canvas' )[0].getContext( '2d' )


estás apuntando a la primer etiqueta. Deberías recorrerlas todas.

Aunque tampoco estoy seguro de que con eso se arregle. Tu código está tan mal puesto, que tendría que adivinar más de una situación para saber.


Si tu efecto es grisar las imágenes, se hace con una capa gris, no hace falta cambiar erregebés.

Hay mil ejemplos en el Foro, pero hace poco hablamos de uno y lo encontré más fácil.

Fondo transparente elementos a full color

Aquí lo que se hacía era "aclarar" una imagen de fondo.
Y se puede hacer perfectamente con CSS.
  #3 (permalink)  
Antiguo 09/10/2012, 11:17
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Hola furoya, sé que no se pueden poner dos id iguales, pero al cambiarlo por una clase o nombre, y referenciar a ellos en la función javascript, no funcionaba; sólo funciona con el primero si hay un id; señalarlos es para destacar eso.

También sé que solo apunto a la primera etiqueta, por eso quiero saber como apuntar a todos los canvas.

También sé que mi código no está bien, al menos no para que funcione como quiero; (aplicando el efecto a todos los canvas). Pero quizá por eso pido ayuda en el foro, no?

El efecto lo quiero realizar en canvas, ya que es más soportado y el efecto no es el mismo.
Lo más parecido son filtros, pero sólo los soporta Webkit.

Saludos.
  #4 (permalink)  
Antiguo 09/10/2012, 20:28
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Aplicar efecto Canvas

Es que no me queda claro. ¿Querés grisar las imágenes, o querés volverlas B&N?.

En el primer caso, con mezclar la imagen con una capa gris, ya anda. De hecho, ése es el truco que se usa para simular "fotos antiguas" : se juntan una imagen con una capa semitransparente beige o sepia.

El segundo ya es más complicado. Y el canvás para íconos no es lo más recomendable. CSS, sí. Pero es cierto que los filtros (en IE también anda, desde la versión 4) no son del todo compatibles.

El modo clasico de hacer el efecto es usar un rollover. Dos imágenes (una color, y otra B&N) que pueden ser una sola, con sprite. Y se cambian con :hover.

Iba a dejarte algún ejemplo, pero hay montones en el Foro. Y me va a costar encontrar justo una de rollover que recuerdo pusieron hace unos años, y hace exactamente lo que estás pidiendo.
No me puedo acordar quién la posteó.


Cuando dejés un código, que esté completo. Aunque no ande, nos sirve para probarlo y saber dónde está el drama. Líneas sueltas son inútiles y no nos dan ganas de responder.
(Por supuesto, cuando digo"completo" es "completo lo que tiene el problema", código que no tiene nada que ver, ni se te ocurra ...)
  #5 (permalink)  
Antiguo 09/10/2012, 21:49
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Aplicar efecto Canvas

Quizá pueda servir esto, donde se habla de ambos efectos: http://www.forosdelweb.com/f13/rollo...o-hace-763023/
  #6 (permalink)  
Antiguo 10/10/2012, 10:42
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Hola, lo único que me hace falta es saber cómo aplicar el efecto a todas las imágenes.
El efecto tiene que ser en Canvas, hay gran diferencia entre como lo hace la función y CSS, en el resultado final.

Por cierto furoya, he puesto el código que tiene que ver, así que no hace falta ninguno más.
Lo único es la función Javascript y saber los nombres del id, etc. en el HTML.

De verdad, he buscado por todas las páginas de Google, he visto sus ejemplos, he buscado en el foro, pero no es lo que yo pido.

Yo quiero saber como aplicar el efecto Canvas que ya tengo, a todos los tag <img> que tengan una determinada clase, ya que sólo se aplica al primero.

Saludos.
  #7 (permalink)  
Antiguo 10/10/2012, 13:41
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Aplicar efecto Canvas

Cita:
Iniciado por Panino5001 Ver Mensaje
Quizá pueda servir esto, donde se habla de ambos efectos: http://www.forosdelweb.com/f13/rollo...o-hace-763023/
Je. Hay cosas que no hay "que acordarse", con pensarlas dos segundos las sacamos ... ¿quién más iba a publicar estos inventos con canvas?

Gracias!


Cita:
Iniciado por m3cubo Ver Mensaje
Hola, lo único que me hace falta es saber cómo aplicar el efecto a todas las imágenes.
El efecto tiene que ser en Canvas, hay gran diferencia entre como lo hace la función y CSS, en el resultado final.

Por cierto furoya, he puesto el código que tiene que ver, así que no hace falta ninguno más.
Lo único es la función Javascript y saber los nombres del id, etc. en el HTML.

De verdad, he buscado por todas las páginas de Google, he visto sus ejemplos, he buscado en el foro, pero no es lo que yo pido.

Yo quiero saber como aplicar el efecto Canvas que ya tengo, a todos los tag <img> que tengan una determinada clase, ya que sólo se aplica al primero.

Saludos.
No discutás. Hace falta el código completo para probar. Yo no te voy a poner un ejemplo de cómo lo debés postear porque ya lo vengo haciendo desde hace años, y si te dejo uno, va a tener que ser con tu "problema" resuelto. Y no te lo pienso resolver.
Es javascript elemental. Si podés desaturar uno (¿porque al final es hacer escala de grises, no?, digo, porque ni contestaste) entonces lo podés hacer con todos. Tal como te dije: los recorres con un bucle for() o con el método que le tengás menos tirria.

Y no es adaptar canvas o javascript a tu página, es adaptar tu página a canvas o javascript.
  #8 (permalink)  
Antiguo 10/10/2012, 14:24
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Cita:
Iniciado por furoya Ver Mensaje
Je. Hay cosas que no hay "que acordarse", con pensarlas dos segundos las sacamos ... ¿quién más iba a publicar estos inventos con canvas?

Gracias!




No discutás. Hace falta el código completo para probar. Yo no te voy a poner un ejemplo de cómo lo debés postear porque ya lo vengo haciendo desde hace años, y si te dejo uno, va a tener que ser con tu "problema" resuelto. Y no te lo pienso resolver.
Es javascript elemental. Si podés desaturar uno (¿porque al final es hacer escala de grises, no?, digo, porque ni contestaste) entonces lo podés hacer con todos. Tal como te dije: los recorres con un bucle for() o con el método que le tengás menos tirria.

Y no es adaptar canvas o javascript a tu página, es adaptar tu página a canvas o javascript.
No, si yo no discuto, quién ha empezado has sido tú. He preguntado una duda, he subido el código, y ya te he dicho que no existe ningún otro elemento disruptivo, lo único que tengo es el script y el código HTML que ya he proporcionado, pero parece que ni lo hayas visto.

Y si no eres capaz de ayudarme a solucionarlo, entonces deja de postear innecesariamente, por favor. Ni cambies de tema, y apartes Canvas del asunto tirando balones fuera de la cancha.

Y tampoco me digas que "no me lo vas a resolver", como si lo hubiese pedido, ya que en ningún momento he dicho nada parecido.
Porque tras buscar 3 días por Internet como hacerlo, hoy lo he conseguido a duras penas con Jquery; ya se convierte en "blanco y negro" con Canvas y sólo falta que vuelva a su color original al retirar el cursor.


Siento tachar tu actitud, pero es que no entiendo párrafos como este que has escrito:

Cita:
Iniciado por furoya Ver Mensaje
Cuando dejés un código, que esté completo. Aunque no ande, nos sirve para probarlo y saber dónde está el drama. Líneas sueltas son inútiles y no nos dan ganas de responder.
(Por supuesto, cuando digo"completo" es "completo lo que tiene el problema", código que no tiene nada que ver, ni se te ocurra ...)
Además de que parece faltarte un poquito de educación, es como si te obligasen a contestar. Si no tienes ganas, no postees de mala manera.

Dices que suba el código "completo lo que tiene el problema", pero ¡es justo lo que he hecho!

Saludos.
  #9 (permalink)  
Antiguo 10/10/2012, 17:05
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Aplicar efecto Canvas

Decime m3cubo ¿tenés alguna tara, o nos estás tratando de b*l*d*s?
  • Pedís una solución, y después resulta que no pediste una solución.
  • Posteás código suelto, y después resulta que insistís en que pusiste el documento completo.
  • Te estoy describiendo tus líneas, pero la seguís conque no vi tu código.
  • Tu modelo (según vos) funciona en el primero, pero sigue siendo problema del canvas.
  • Tu modelo (según vos) funciona en el primero, pero no es la falta de un mugroso y elemental bucle for() para seguir con los otros.

Si soy o no capaz de ayudarte, ya es mi problema. El punto es si te lo merecés.
Y por supuesto que nadie me obliga a contestar. A vos sí te obligamos a postear correctamente. Es tu deber.
Y si no lo cumplís, entonces sí tengo obligación de recriminarte.

No hago las citas, porque con leer el tema de nuevo todo lo que describo es evidente (je, por ahi para vos no).

Si encontraste la forma de hacerlo con JQ, pedí el traslado al foro de frameworks, seguro que allí te van a tener más paciencia. Hay más gente acostumbrada a copiar y pegar código sin entender lo que hace.


Y lo que más lamento, es que aparte del link de Panino5001, al final yo estaba haciendo un par de ejemplos para postear; pero encontrarme con gente como vos ya me quita todas las ganas.
  #10 (permalink)  
Antiguo 11/10/2012, 09:04
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Veo que has dado "razones" de porqué no paras de postear sin pasarme algo de ayuda, pero voy a refutártelas, porque no eres el único/a que tiene tiempo libre para desvirtuar el tema.

Cita:
Iniciado por furoya Ver Mensaje
Pedís una solución, y después resulta que no pediste una solución.
Claro que he pedido una solución, pero no me has proporcionado nada tangible para solucionarlo.

Cita:
Iniciado por furoya Ver Mensaje
Posteás código suelto, y después resulta que insistís en que pusiste el documento completo.
Lo que te he dicho es que el código es el mismo. No cuesta imaginar los Tags HTMl, pero sí sirven para ofuscar el código. Si me molesto en ponerlo de forma separada, es para distinguirlo mejor. Más abajo pongo el código en el mismo recuadro, y verás que es lo mismo.

Cita:
Iniciado por furoya Ver Mensaje
Te estoy describiendo tus líneas, pero la seguís conque no vi tu código.
Créeme, se me ocurrió lo del ciclo for y demás antes de postear (lo he probado varias veces pero así no lo he conseguido), pero también sigues con no soltar una línea de código de como se haría.

Cita:
Iniciado por furoya Ver Mensaje
Tu modelo (según vos) funciona en el primero, pero sigue siendo problema del canvas
No terjiverses, por favor. Lo que hay que cambiar es la función Javascript, pero usando Canvas, que es lo que pareces ignorar.

Cita:
Iniciado por furoya Ver Mensaje
Tu modelo (según vos) funciona en el primero, pero no es la falta de un mugroso y elemental bucle for() para seguir con los otros.
Pues al final, resulta que no. Lo que hacía falta era JQuery y aplicarlo a una determinada clase, que es como lo tengo actualizado, y así funciona. Así que deja ese for() del que no has puesto ni una línea de código.



Aquí tienes el mismo código, con los tag HTML.


Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <title>El mismo código de antes</title>
  3.  
  4.  
  5. <script type="text/javascript" src="js/jquery.js"></script>
  6.  
  7.  
  8.     (function() {
  9.                  var supportsCanvas = !!document.createElement('canvas').getContext;
  10.                  supportsCanvas && (window.onload = greyImages);
  11.          
  12.                  function greyImages() {
  13.                     var ctx = document.getElementsByTagName('canvas')[0].getContext('2d'),
  14.                     img = document.getElementById('mycanvas'),
  15.                     imageData, px, length, i = 0,
  16.                     red, green, blue, grey;
  17.          
  18.                     ctx.drawImage(img, 0, 0);
  19.          
  20.                     imageData = ctx.getImageData(0, 0, 640, 400);
  21.                     px = imageData.data;
  22.                     length = px.length;
  23.          
  24.                     for ( ; i < length; i+= 4 ) {
  25.                       // rgba
  26.                       grey = 0.3*px[i] + 0.59*px[i+1] + 0.11*px[i+2];
  27.                       px[i] = px[i+1] = px[i+2] = grey;
  28.                    }
  29.        
  30.                    ctx.putImageData(imageData, 0, 0);
  31.                 }
  32.              })();
  33.  
  34.  
  35.  
  36. </head>
  37.  
  38.  
  39. <img src="imagen1.png" class="icono"id="mycanvas" />
  40. <canvas width=50 height=50></canvas>
  41.      
  42.      
  43. <img src="imagen2.png" class="icono" id="mycanvas" />
  44. <canvas width=50 height=50></canvas>
  45.  
  46.  
  47. </body>
  48. </html>


Como puedes ver y ya te dije varias veces, es el mismo código.

Si tienes tanto orgullo que dices que "estabas haciendo un par de ejemplos" pero se te "quitaron las ganas al encontrarte con gente como yo", entonces guárdatelos, por favor. He venido a pedir ayuda, pero no a suplicarte.

He empezado pidiendo gracias por adelantado, y usuarios como Panino5001 me han pasado un ejemplo que casi era lo que necesitaba, en un único post.

Para 4 mensajes que has posteado, me has pasado un enlace cuyo planteamiento inicial no era el que he pedido. Uso Canvas porque el efecto que quiero lograr es modificar los píxeles a blanco y negro, no cambiar la opacidad, etc.

Con frases textuales que has posteado, como "el punto es si te lo mereces" yo diría que tu "punto" fuerte no es la educación.


Si según tu, no me merezco tu "ayuda", entonces deja de desvirtuar el hilo, aunque ya lo hemos conseguido.

Saludos.
  #11 (permalink)  
Antiguo 11/10/2012, 12:23
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 187
Respuesta: Aplicar efecto Canvas

Puedes ver aquí un ejemplo de lo que quieres funcionando:

http://jsfiddle.net/37BUa/6/

De todas formas coincido bastante con el pensamiento de furoya.

Porque en todas tus respuesta pareciera como si no te hubieses puesto a pensar que es lo que necesitabas y al contrario lo solicitabas hecho.

Que hace el código (utiliza jQuery para simplificar) ?
Código Javascript:
Ver original
  1. (function() {
  2. (function() {
  3.  var supportsCanvas = !!document.createElement('canvas').getContext;
  4.  
  5.  function greyImages(cva,img) {
  6.    
  7.     var ctx =cva.getContext('2d');
  8.     var imageData, px, length, i = 0,
  9.     red, green, blue, grey;
  10.  
  11.     ctx.drawImage(img, 0, 0);
  12.  
  13.     imageData = ctx.getImageData(0, 0, cva.width, cva.height);
  14.     px = imageData.data;
  15.     length = px.length;
  16.  
  17.     for ( ; i < length; i+= 4 ) {
  18.        // rgba
  19.        grey = 0.3*px[i] + 0.59*px[i+1] + 0.11*px[i+2];
  20.        px[i] = px[i+1] = px[i+2] = grey;
  21.     }
  22.  
  23.     ctx.putImageData(imageData, 0, 0);
  24.  }
  25.     $(document).ready(function(){
  26.         $('.icono').each(function(){
  27.             var _this = $(this);
  28.             var _canvas = $(document.createElement('canvas'));
  29.             _canvas.width(_this.width());
  30.             _canvas.height(_this.height());
  31.             _canvas.attr('width',_this.width());
  32.             _canvas.attr('height',_this.height());
  33.             _canvas.css('top',_this.position().top);
  34.             _canvas.css('left',_this.position().left);
  35.             _this.after(_canvas);
  36.             greyImages(_canvas.get(0),_this.get(0));            
  37.         });            
  38.     });
  39. })();

Pues:
1) Para cada imagen crea un canvas (con el ancho y alto del canvas)
2) Copia la imagen en el contexto del canvas
3) Posiciona de manera absoluta el canvas sobre la imagen
4) Por cada pixel del canvas lo reemplaza por su correspondiente en grises

Para llegar al código antes de hacerlo pensé en este plan y luego lo implementé

Saludos
  #12 (permalink)  
Antiguo 14/10/2012, 13:16
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Hola ryugen, muchas gracias por el código, por tu paciencia y el cambio en el Fiddle.
Tenía un código con Jquery que encontré en un blog, pero tenía algunos problemas para activarse correctamente al pasar el cursor. Como no entendía del todo Jquery, me bajé un manual y me puse a leerlo (Y sigo haciéndolo).
De todos modos, furoya suponía que había que incluir un for() para recorrer los elementos, lo que al final no era.
Me falta conocimiento en Javascript, pero por eso pregunto cuando me atasco.
Nuevamente, gracias ryugen, y a los demás. furoya, entiendo que quisieras ayudarme, pero si todavía no domino Javascript, ¿tengo que quedarme con la duda?

Saludos!
  #13 (permalink)  
Antiguo 15/10/2012, 09:03
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Por alguna razón, webkit no soporta este canvas.
He probado en el resto de navegadores (Firefox, Opera, e IE) pero en Safari y Chrome el efecto no funciona, ni siquiera el Fiddle.

¿A qué puede deberse?

Saludos.
  #14 (permalink)  
Antiguo 15/10/2012, 11:03
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Aplicar efecto Canvas

¿Ves ryugen ahora a lo que me refiero?

No podés fomentarle a esta gente que no tiene la menor intención de aprender, el que vengan a rapiñar "código hecho", como si nosotros estuviéramos para hacer su trabajo.

Con el ejemplo de Panino5001 ya alcanzaba y sobraba, las aclaraciones que puse yo son obvias (menos para él, claro, que sigue discutiendo lo indiscutible) y nada más sirven de guía para el caso puntual de varias imágenes con rollover.

Y acá no había mucha manera de llamarse a engaño. Desde el primer post nos dimos cuenta todos que aportar aquí iba a ser un desperdicio. Se le dio el beneficio de la duda, y lo tiró afuera de la cancha.

Y encima tu efecto sí funciona en Chrome (no probé Safari). A veces se tilda al cargar, porque vaya uno a saber qué hay en esas libraries (usar un jquery para reemplazar un mugroso bucle for, for in, while ... es un disparate, aunque supongo que se pueden aprovechar para ahorrarse otras lineas de JS).
Pero en principio, anda.

http://jsfiddle.net/37BUa/6/embedded/result/

Un inconveniente que se ve en tu ejemplo, es que canvas no replica animaciones *.gif . Pero es un detalle. Tampoco recuerdo si los filtros lo hacen.
  #15 (permalink)  
Antiguo 15/10/2012, 15:03
m3cubo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicar efecto Canvas

Veré que problema hay entonces con mis navegadores, pero es curioso que Chrome y Safari no detectan el efecto canvas, y eso que son versiones modernas, buscaré a qué se debe.

furoya, de verdad, me parece que no paras de machacar todo el rato.

Cuando encontré un efecto que encontré interesante en Canvas y quise aplicarlo, me di cuenta de que solo se aplicaba a un elemento, y necesitaba aplicarlo a más de uno, por ejemplo, para unos iconos de navegación.

Los códigos que encontré solo indicaban el id, y quería aplicarlo a una clase, por ejemplo. Sin embargo, Javascript no detectaba ninguna cuando lo cambiaba para que buscase por una determinada clase.
Entonces estuve unos 3 días o así cambiando el código, etc. y buscando otros que se ajustasen a lo que quería hacer.

Luego pregunté la duda, y me bajé un tutorial de Jquery cuando vi que podía solucionarme el código, que estoy leyendo para aprender. Por eso no entiendo que digas que "no tengo intención de aprender". De verdad, entras en "casa ajena" con una facilidad impresionante...

De todos modos, no ha sido hasta el ejemplo de ryugen, que logra aplicar el efecto a todos los iconos de una misma clase. Créeme, me he metido en todos los enlaces que habéis puesto, y he leído los correspondientes hilos, he buscado en el foro, etc.


Pero bueno furoya, diría que la has tomado conmigo, porque un mal día lo tiene cualquiera, pero tu vuelves continuamente a repetir tu discurso. Ya te he dicho que el efecto de Panino5001 no es el mismo... pero tú vas a lo tuyo y pasas de lo que yo te diga. He probado los dos y cambia bastante.


Ahora creo que voy a tener miedo de preguntar tras haber buscado durante días y bajarme un tutorial para aprender sobre ello, y luego postear poniendo el código, por si apareces para recriminarme.

Saludos.

Etiquetas: canvas, efecto, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:41.