Has probado achicar la foto a 1x1 y sacar la info de ese pixel?... o quizas habria que hacerlo a 2x2, o 4x4 para sacar algo mas realista....
Saludos...

David Gironella escribió:
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
------------------------------------

Responder a