Infinitamente más. Y guardarlo en base de datos también ayuda :)
 
M.
 


De: asnativos@5dms.com [mailto:[EMAIL PROTECTED] En 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 ------------------------------------

Responder a