画像を色から検索をFlexで作ってみたよ

http://moeten.info/hatena/20071114_photoxml/bin/main.html

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientColors="[#ffffff, #ffffff]" viewSourceURL="srcview/index.html">
<mx:Style>
.my{
    borderColor: #b7babc;
    borderThickness: 2;
    dropShadowEnabled: true;
    backgroundColor:#ffffff;
    borderColor:#ff80ff;
    cornerRadius:3;
    themeColor:#ff80ff;
    borderStyle:solid;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.effects.Resize;
import mx.events.DragEvent;
import mx.core.DragSource;
import mx.core.UIComponent;
import mx.core.IFlexDisplayObject;
import mx.managers.DragManager;
import mx.containers.Canvas;
import mx.controls.Image;
import mx.effects.Rotate;
import mx.effects.Move;
import mx.effects.Effect;
public var myXML:XML;
public var myLoader:URLLoader;
//カラーピッカーが設定されたら呼び出される関数
private function get_image(event:Event):void{
    myXML = new XML();
    var color:String = colorpic.selectedColor.toString(16);
    //00FFccなどのように先頭に00が来るとFFCCとなるためケア
    if(  color.length == 4 ){
        color = "00" + color;
    }
    //XMLの取得
    var XML_URL:String = "http://moeten.info/maidcafe/?&m=image_search&type=xml&color=" + color;
    var myXMLURL:URLRequest = new URLRequest(XML_URL);
    myLoader = new URLLoader(myXMLURL);
    myLoader.addEventListener("complete", xmlLoaded2);
}
//XMLローダー
public function xmlLoaded2(evtObj:Event):void {
    myXML = XML(myLoader.data);
    var i:int = 0;
    for( i = 0 ; i < myXML.item.length(); i ++ ){
        add_image( myXML.item[i].url );
    }
}
//画像をステージに追加
public function add_image(url:String):void{
    //キャンバスの作成
    var mycanvas:Canvas = new Canvas();
    mycanvas.width = 80;
    mycanvas.height = 80;
    mycanvas.horizontalScrollPolicy = "off";
    mycanvas.verticalScrollPolicy = "off";
    mycanvas.x = Math.round( Math.random()*200 );
    mycanvas.y = Math.round( Math.random()*200 );
    mycanvas.styleName = "my";
    //画像の作成
    var image:Image = new Image();
    image.source = url;
    image.width = 100;
    image.height = 100;
    image.enabled = false;
    //ステージにアッド
    mycanvas.addChild(image);
    mycanvas.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
    mycanvas.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
    this.addChild(mycanvas);
    //ムーブ
    var move:Move = new Move();
    move.target = mycanvas;
    move.yTo = Math.round( Math.random()*200 )+100;
    move.xTo = Math.round( Math.random()*500 )+100;
    move.duration = 1000;
    move.play();
    //回転
    var rotate:Rotate = new Rotate();
    rotate.originX = -50;
    rotate.originY = -50;
    rotate.duration = 1000;
    rotate.target = mycanvas;
    rotate.angleFrom = Math.round( Math.random()*100 );
    rotate.angleTo = Math.round( Math.random()*100 );
    rotate.play();
}
//ドラッグ関係(未だ勉強中
public function onMouseDown(event:MouseEvent):void {
    event.target.startDrag();
    //parent.setChildIndex( this , parent.numChildren - 1);
}
//ドラッグ中の更新
public function onMouseMove(event:MouseEvent):void {
}
//ドラッグ終了
public function onMouseUp(event:MouseEvent):void {
    event.target.stopDrag();
}
]]>
</mx:Script>
    <mx:ColorPicker x="226" y="35" width="30" height="30" styleName="my" selectedColor="#FF80FF" change="get_image(event)"  id="colorpic" enabled="true"/>
</mx:Application>