http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html?filter_coldfusion=9&filter_flex=3&filter_flashplayer=10&filter_air=1.5#floodFill%28%29
mouseX и mouseY - это всегда позиция мыши, добавьте прослушиватель щелчка к любому объекту и просто используйте mouseX / mouseY или иначе mouseEvent's event.localX и event.localY для объекта, к которому слушатель прикреплен
<mx:Image id="myImage" click="(myImage.content as Bitmap).bitmapData.floodFill(event.localX,event.localY,0xFFFFFF)" source="http://www.carolynsbloomingcreations.com/images/square.gif"/>
Вот решение, если вы используете среду Flex 4.5 Hero, в противном случае мне не удалось получить указатель на bitmapData через BitmapImage, вышеупомянутое решение также работает с Flex 3 или 4:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<!--
<mx:Image
id="myImage"
click="(myImage.content as Bitmap).bitmapData.floodFill(event.localX,event.localY,0xFFFFFF)"
source="http://www.carolynsbloomingcreations.com/images/square.gif"/>
-->
<fx:Script>
<![CDATA[
private function handleClick(event:MouseEvent):void
{
trace('test');
var tempData:BitmapData = new BitmapData(myBitmapImage.width,myBitmapImage.height);
tempData = myBitmapImage.bitmapData;
var localPoint:Point = container.globalToLocal(new Point(mouseX,mouseY));
tempData.floodFill(localPoint.x,localPoint.y,0xFFFFFFFF);
myBitmapImage.source = tempData;
trace(localPoint.x + ":" + localPoint.y);
}
]]>
</fx:Script>
<s:Group
id="container"
click="handleClick(event)">
<s:BitmapImage
id="myBitmapImage"
source="@Embed('square.gif')" />
</s:Group>
</s:Application>
несмотря на то, что они выставили bitmapData в 4.5, он доступен только для чтения, поэтому мне пришлось скопировать его и переназначить источнику, который, похоже, работал