This example loads an image and then uses a combination of the Bitmap and BitmapData classes to determine the color value under the mouse cursor. Pretty basic, but kind of neat. Maybe? Sorta?
<?
xml version="1.0" encoding="utf-8"
?>
<!-- http://blog.flexexamples.com/2007/08/02/finding-a-pixels-color-value-using-the-bitmap-classes-and-getpixel/ -->
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
layout ="vertical"
verticalAlign ="middle"
backgroundColor ="white" >
< mx:Script >
<![CDATA[
private var bm:Bitmap;
private var bmd:BitmapData;
private function image_complete(evt:Event):void {
/* Create Bitmap from Image content. */
bm = img.content as Bitmap;
/* Create new BitmapData object. */
bmd = new BitmapData(img.contentWidth, img.contentHeight);
/* Draw Bitmap into BitmapData. */
bmd.draw(bm.bitmapData);
}
private function image_mouseMove(evt:MouseEvent):void {
/* Get the pixel currently under the mouse cursor. */
var color:int = bmd.getPixel(evt.localX, evt.localY);
/* Convert the color value from a number to Hex string. */
var colorStr:String = color.toString(16).toUpperCase();
/* Set the swatch Box instance's backgroundColor style to the color under the mouse cursor. */
swatch.setStyle("backgroundColor", color);
/* Make sure colorStr is at least 6 characters. */
colorStr = "000000" + colorStr;
/* Make sure colorStr is at MOST 6 characters. */
lbl.text = "#" + colorStr.substr(colorStr.length - 6);
}
]]>
</ mx:Script >
< mx:Zoom id ="zoom" />
< mx:VBox >
< mx:Image id ="img" source ="image1.jpg" completeEffect ="{zoom}" complete ="image_complete(event);" mouseMove ="image_mouseMove(event)" />
< mx:HBox >
< mx:Box id ="swatch" width ="{lbl.height} " height ="{lbl.height}" />
<!-- http://blog.flexexamples.com/2007/08/02/finding-a-pixels-color-value-using-the-bitmap-classes-and-getpixel/ -->
< mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml"
layout ="vertical"
verticalAlign ="middle"
backgroundColor ="white" >
< mx:Script >
<![CDATA[
private var bm:Bitmap;
private var bmd:BitmapData;
private function image_complete(evt:Event):void {
/* Create Bitmap from Image content. */
bm = img.content as Bitmap;
/* Create new BitmapData object. */
bmd = new BitmapData(img.contentWidth, img.contentHeight);
/* Draw Bitmap into BitmapData. */
bmd.draw(bm.bitmapData);
}
private function image_mouseMove(evt:MouseEvent):void {
/* Get the pixel currently under the mouse cursor. */
var color:int = bmd.getPixel(evt.localX, evt.localY);
/* Convert the color value from a number to Hex string. */
var colorStr:String = color.toString(16).toUpperCase();
/* Set the swatch Box instance's backgroundColor style to the color under the mouse cursor. */
swatch.setStyle("backgroundColor", color);
/* Make sure colorStr is at least 6 characters. */
colorStr = "000000" + colorStr;
/* Make sure colorStr is at MOST 6 characters. */
lbl.text = "#" + colorStr.substr(colorStr.length - 6);
}
]]>
</ mx:Script >
< mx:Zoom id ="zoom" />
< mx:VBox >
< mx:Image id ="img" source ="image1.jpg" completeEffect ="{zoom}" complete ="image_complete(event);" mouseMove ="image_mouseMove(event)" />
< mx:HBox >
< mx:Box id ="swatch" width ="{lbl.height} " height ="{lbl.height}" />
<
mx:Label
id
="lbl"
width
="100"
fontFamily
="_typewriter"
fontSize
="16"
/>
</ mx:HBox >
</ mx:VBox >
</ mx:Application >
</ mx:HBox >
</ mx:VBox >
</ mx:Application >