Ver Mensaje Individual
  #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.