Seguro que en servidor va más rápido, pero tengo curiosidad desde hace tiempo de conseguir hacer eso... El caso es que fuerza bruta no parece muy optimo, además que con ese sistema una foto que tenga mucho rojo y verde te va decir que el promedio es amarillo, aunque no tenga nada en la imagen.Vamos, tiene que ser por vecindaz, es decir, tienes que encontrar masas de color. Lo que me sugiere que se deberia usar al ColorMatrixFilter o el Convolution filter para hacerlo. Pero vamos, no tengo ni idea de como. Si alguien se le ocurre seria bastante interesante el tema.... Por otra parte no creo que necesites hacer eso para lograr ese efecto, yo creo que simplemente adjudica a cada pixel una imagen dependiendo del color, y cuando hay los suficientemente pocos (imagen ampliada). un saludo, Joseba
________________________________ De: asnativos@5dms.com [mailto:[EMAIL PROTECTED] En nombre de David Gironella Enviado el: martes, 23 de mayo de 2006 15:40 Para: asnativos@5dms.com Asunto: RE: [ASNativos] Average de una foto En php seria facil, usando las librerias GD. Y supongo que lo mejor seria guardar el resultado de la media en una base de datos. Para mi el flash nunca ha dado buenos rendimientos quando se usan demasiados bucles. Giro. -----Mensaje original----- De: asnativos@5dms.com [mailto:[EMAIL PROTECTED] nombre de José Tomás Tocino Enviado el: martes, 23 de mayo de 2006 15:04 Para: asnativos@5dms.com Asunto: [ASNativos] Average de una foto Buenas, hace poco me pasaron esta dirección http://interact10ways.com/usa/information_interactive.htm . Está hecho en Shockwave. He pensado que se podrÃa hacer en flash también, por lo que he empezado a pensar cómo podrÃa hacerlo. La idea serÃa tener una colección de fotografÃas con un color asginado a cada una, y luego reemplazar cada pÃxel de la imagen original por esas pequeñas imágenes. He creado una función que hace una "media" entre todos los colores de una foto, pero es bastante lenta y chupa mucha CPU: <code> function averageFoto(mibitmap:BitmapData){ var ancho:Number = mibitmap.width; var alto:Number = mibitmap.height; var pixels:Number = ancho * alto; var rojo:Number = 0; var verde:Number = 0; var azul:Number = 0; for(var foo_ancho = 0; foo_ancho < ancho; foo_ancho ++){ for(var foo_alto = 0; foo_alto < alto; foo_alto ++){ pixel = mibitmap.getPixel(foo_ancho, foo_alto); rojo += (pixel >> 16 & 0xFF); verde += (pixel >> 8 & 0xFF); azul += (pixel & 0xFF); } } fin_rojo = rojo / pixels; fin_verde = verde / pixels; fin_azul = azul / pixels; //trace("R: " + fin_rojo + ", G: " + fin_verde + ", B: " + fin_azul); color = "0xFF" + fin_rojo.toString(16) + fin_verde.toString(16) + fin_azul.toString(16); return color; }</code> Mi pregunta es, ¿serÃa más factible hacerlo con un lenguaje de servidor, como php? o ¿hay otra forma de hacer la media de la foto de forma más cpu-friendly? Un saludo. -- José Tomás Tocino http://www.om3.com.es #¶+Â²Â§í»Œí¾šÇ› ----------------------------------- ASNativos http://www.5dms.com/listas ------------------------------------ ----------------------------------- ASNativos http://www.5dms.com/listas ------------------------------------