Yo hice esto cuando lei tu primer post, a modo de experimento, y la 
verdad funciona relativamente bien:
http://www.ventdaval.com/testing/flash8/averageFoto.php?num=30&foto=http://flog.ventdaval.com/imagenes/Varios/Stuttgart/_flreds/880_660_IMGP3791.jpg

Lo que hago es redimensionar la imagen a diferentes resoluciones 
pequeñas (el primero es 2x2, el segundo 3x3, etc... aunq manteniendo las 
proporciones de la foto), y luego hago un simple promedio de 
rojos-verdes-azules de cada pixel. Fijate en la URL, num es el numero de 
promedios que hara (cada uno subiendo en un pixel el ancho y alto 
acorde) y el otro es la URL de la foto. En general desde el 10x10 da 
resultados aceptables.

Usé la funcion que postearon aqui esa vez, pero modificada un poco:

<code>
function averageColor(bmp:BitmapData, res:Number){
    var a=this.createEmptyMovieClip("a",this.getNextHighestDepth());
    var b=a.createEmptyMovieClip("b",a.getNextHighestDepth());
    b.attachBitmap(bmp,0);
    b._width=res;
    b._yscale=b._xscale;
    var bmp2:BitmapData=new BitmapData(a._width,a._height);
    bmp2.draw(a);
    a.removeMovieClip();
   
    var ancho:Number = bmp2.width;
    var alto:Number = bmp2.height;
    var pixels:Number = ancho * alto;
    var rojo:Number = 0;
    var verde:Number = 0;
    var azul:Number = 0;
   
    for(var x = 0; x < ancho; x ++){
        for(var y = 0; y < alto; y ++){
            var pixel = bmp2.getPixel(x, y);      
            rojo += (pixel >> 16 & 0xFF);
            verde += (pixel >> 8 & 0xFF);
            azul += (pixel & 0xFF);
        }
    }
   
    var fin_rojo = (rojo / pixels).toString(16);
    var fin_verde = (verde / pixels).toString(16);
    var fin_azul = (azul / pixels).toString(16);
    if(fin_rojo.length<2) fin_rojo+=fin_rojo;
    if(fin_verde.length<2) fin_verde+=fin_verde;
    if(fin_azul.length<2) fin_azul+=fin_azul;
    var color = "0x"+fin_rojo +""+ fin_verde +""+ fin_azul;
    return color;
}
</code>

Aun asi, si lo que quieres es una especie de buscador de imagenes por 
color, necesitaras algun tipo de "redondeador" de colores... una buena 
idea es quizas restringir a 256 colores, o saturar al maximo cada color, 
o algo asi... todo depende de como quieras el buscador...
En cualquier caso, te recomiendo hacerlo todo en servidor (con la GD de 
PHP por ejemplo)... y referenciar cada imagen con su color.

Saludos...

Ricardo Cabrera escribió:
> No he podido escaquearme para concluir mi proyecto de los colores, demasiado 
> curro sobre la mesa desde ayer...
>
> No obstante si alguien puede adelantar algo para todos, ya que veo que el 
> tema le interesa a algunos, les dejo mis notas, porque hasta el finde no 
> podré hacer nada más.
>
> El grueso de la información está en inglés, pero es totalmente comprensible, 
> a los que no les guste el inglés les exhorto a que se pongan las pilas, 
> porque siempre se encuentran cosas útiles escritas en el.
>
>
> Detectar los colores parece ya está "chupao" (después de buscar mucho) en 
> este tutorial de grant Skinner,
>  http://www.adobe.com/devnet/flash/articles/bitwise_operators_print.html, el 
> ejemplo tiene una classe bastante clara. Él calcula a partir de operadores 
> bitwise el color promedio de distintas area de la imagen. Si eso se lo 
> extendemos a todo el area de la imagen creo que cumplimos el tema. Esa 
> manipulacion de pixeles la hace con la utilísima clase de bitmapData de AS2. 
> Con unos retoques que empecé pero que creo que cualquiera puede darse cuenta 
> se puede calcular toda la imagen.
>
> A primera vista la classe bitmapData carga imágenes que estén en la librería 
> con su respectivo LinkageID, sin embargo TODOS tenemos un ejemplo que instala 
> flash que no hemos revisado (como yo hasta ayer) que a partir de imágenes 
> cargadas dinámicamente hace un puzzle.
>
> (perdonen otra vez pero tengo que usar todo en inglés)
>
> boot drive\Program Files\Macromedia\Flash 8\Samples and  
> Tutorials\Samples\ActionScript\BitmapData
>
> Macintosh, browse to Macintosh HD/Applications/Macromedia Flash  8/Samples 
> and Tutorials/Samples/ActionScript/BitmapData. 
>
>
> En la práctica si vamos a realizar una galería con muchas imágenes lo mejor 
> es calcular los colores de las imágenes antes de almacenar sus datos en la 
> BD, con AS3 creo que se podrá incluso acceder a datos EXIF que incluyen las 
> fotos digitales, en fin lo que se buscará es un número almacenado en un campo 
> y no es necesario más cálculo.
>
> Si todo sale bien el proximo reto será el buscador por los trazos de la 
> imagen.
>
> Gracias a todos,
> Richard
>
>
>
> Joseba Alonso <[EMAIL PROTECTED]> escribió: ¿Conseguiste algo sobre este 
> tema? A mi me interesa bastante... :) 
>
>   
>> -----Mensaje original-----
>> De: [EMAIL PROTECTED] 
>> [mailto:[EMAIL PROTECTED] En nombre de Ricardo Cabrera
>> Enviado el: martes, 27 de junio de 2006 9:48
>> Para: Lista dedicada a Actionscript
>> Asunto: RE: [ASNativos] Detectar imágenes con colores similares
>>
>> Gracias por ese link está increible...! 
>> (http://interact10ways.com/usa/information_interactive.htm) 
>> es altamente recomendable para todos.
>>
>> Para los que les guste ese efecto hay una aplicación que hace 
>> eso  http://www.andreaplanet.com/andreamosaic/ aunque no de 
>> forma dinámica, buena para hacerse un poster.
>>
>> Lo que yo buscaba, realiza el cálculo del color promedio 
>> también, pero sería solo una vez, cuando incorpor mi imagen a 
>> la BD, entonces cada vez que pida una imagen según un color, 
>> buscaría en la base los "colores promedios" de las imágenes 
>> que estaría escrito en un campo.
>>
>> Algo como esto..
>> http://krazydad.com/colrpickr/   (que ya habéis visto)
>> o como esto
>> http://www.istockphoto.com/file_search.php?action=file&filetyp
>>     
> eID=&oldtext=landscape&form_cs_nw=xxx&form_cs_n=xxx&form_cs_ne=xx>
> x&form_cs_w=xxx&form_cs_center=xxx&form_cs_e=xxx&form_cs_sw=xx
>   
>> x&form_cs_s=xxx&form_cs_se=xxx&color=208%2C%2C&within=1&text=
>>
>> Anoche encontré un norte en un artículo de Grant Skinner. En 
>> el transcurso del día os enviaré el resultado...
>>
>>
>> karlos  escribió: Vi un ejemplo de lo que 
>> me imagino quieres hacer en:
>> http://interact10ways.com/usa/information_interactive.htm
>> Es un poquito pesada, pero vale la pena la espera.
>>
>>
>>
>> -----Mensaje original-----
>> De: [EMAIL PROTECTED] 
>> [mailto:[EMAIL PROTECTED] En nombre de Cay Garrido H.
>> Enviado el: lunes, 26 de junio de 2006 19:37
>> Para: Lista dedicada a Actionscript
>> Asunto: Re: [ASNativos] Detectar imágenes con colores similares
>>
>> No es nada facil. De hecho es bastante complejo. Necesitas un 
>> lenguaje en servidor que promedie los colores de cada pixel 
>> de cada imagen, los "redondee" (o los sature, o extraiga el 
>> "tono", etc... depende de los colores que definas para el 
>> buscador) y los asocie a cada imagen (en una BD por ejemplo). 
>> Luego ya te puedes poner con el buscador ;)
>>
>> Saludos...
>>
>> Ricardo Cabrera escribió:
>>     
>>> Hola a [EMAIL PROTECTED]
>>>
>>> Estoy haciendo una galería de imágenes que me gustaría incluirle un
>>>       
>> buscador de imágenes por colores, algo como lo de flickr 
>> http://krazydad.com/colrpickr/, que dado un color te devuelve 
>> las imágenes con croma similar.
>>     
>>> Gracias por adelantado
>>>
>>> Repito el link de referencia:
>>> http://krazydad.com/colrpickr/
>>>
>>> Richard
>>>
>>>    
>>> ---------------------------------
>>>
>>> LLama Gratis a cualquier PC del Mundo.
>>> Llamadas a fijos y móviles desde 1 céntimo por minuto.
>>> http://es.voice.yahoo.com
>>> -----------------------------------------------------
>>> ASNativos
>>> www.5dms.com
>>> subscripciones/desubscripciones
>>> http://asnativos.5dms.com
>>> -----------------------------------------------------
>>>
>>>   
>>>       
>> -----------------------------------------------------
>> ASNativos
>> www.5dms.com
>> subscripciones/desubscripciones
>> http://asnativos.5dms.com
>> -----------------------------------------------------
>>
>>
>>
>> -----------------------------------------------------
>> ASNativos
>> www.5dms.com
>> subscripciones/desubscripciones
>> http://asnativos.5dms.com
>> -----------------------------------------------------
>>
>>
>>    
>> ---------------------------------
>>
>> LLama Gratis a cualquier PC del Mundo.
>> Llamadas a fijos y móviles desde 1 céntimo por minuto.
>> http://es.voice.yahoo.com
>> -----------------------------------------------------
>> ASNativos
>> www.5dms.com
>> subscripciones/desubscripciones
>> http://asnativos.5dms.com
>> -----------------------------------------------------
>>
>>
>>     
>
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
>
>               
> ---------------------------------
>
> LLama Gratis a cualquier PC del Mundo.
> Llamadas a fijos y móviles desde 1 céntimo por minuto.
> http://es.voice.yahoo.com
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
>   


-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a