Finding a pixel’s color value using the Bitmap classes and getPixel()

简介:
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}"   />
             < mx:Label  id ="lbl"  width ="100"  fontFamily ="_typewriter"  fontSize ="16"   />
        
</ mx:HBox >
    
</ mx:VBox >

</ mx:Application >
复制代码
相关文章
|
9月前
|
开发者 API 存储
自学HarmonyOS API 13记录:实现推送服务
老板突然要求我为新上线的App开发实时推送通知功能,使用HarmonyOS最新的API 13。尽管这是我首次接触HarmonyOS 13,我还是决定迎难而上。通过研究华为开发者官网的文档,我了解了PushCommon和PushService模块,并逐步实现了环境准备、推送注册、消息接收、自定义推送行为和资源清理等功能。最终,我成功开发了一个简单的推送通知Demo,不仅满足了需求,还深入掌握了HarmonyOS推送服务的架构。这次经历让我深刻体会到HarmonyOS API 13在推送服务上的改进,也感受到了现代服务架构的灵活性和高效性。希望这篇文章能帮助到更多学习HarmonyOS的开发者。
272 1
自学HarmonyOS API 13记录:实现推送服务
|
7月前
|
移动开发 安全 API
VMware vCenter Server 6.7U3w (安全更新) - ESXi 集中管理软件
VMware vCenter Server 6.7U3w (安全更新) - ESXi 集中管理软件
133 2
VMware vCenter Server 6.7U3w (安全更新) - ESXi 集中管理软件
|
7月前
|
人工智能 运维 Serverless
DeepSeek 模型云上部署评测:零门槛实现智能升级
DeepSeek 模型云上部署评测:零门槛实现智能升级
533 2
|
9月前
|
安全 数据安全/隐私保护 API
鸿蒙开发:一文了解软键盘相关
软键盘最主要的就是合理的进行避让,不能遮挡可输入组件,再有多个输入框的时候,需要动态的进行设置高度,这一点需要注意。
155 2
鸿蒙开发:一文了解软键盘相关
|
7月前
|
人工智能 程序员 API
iOS|记一名 iOS 开发新手的前两次 App 审核经历
啥,这玩意也有新手保护期?
144 0
|
域名解析 存储 Linux
Mac M1 搭建虚拟机节点集群过程及软件分享
Mac M1 搭建虚拟机节点集群过程及软件分享
632 0
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】
|
监控 小程序 前端开发
小程序全栈开发中的WebSocket实时通信实践
【4月更文挑战第12天】本文探讨了小程序全栈开发中WebSocket实时通信的实践,WebSocket作为实现双向实时通信的协议,其长连接特性和双向通信能力在实时聊天、推送、游戏和监控等场景中发挥关键作用。开发者需注意安全性、性能和兼容性问题,以优化用户体验并确保小程序稳定运行。通过掌握WebSocket,开发者能提升小程序的功能性和用户体验。
311 0
|
iOS开发
PodSpec
PodSpec 是一个用于描述 CocoaPods 软件包的文件,其中包含有关该软件包的元数据和依赖关系信息。PodSpec 文件通常是由软件包的作者创建和维护的,用于描述他们开发的软件包。
184 1
PADS新建封装
前面我们已经讲解过如何新建一个电阻元器件,那么接下来我们就要新建一个该电阻元器件在现实世界中的映射——封装(Footprint)。打开PADS Layout,执行如下步骤: 1、打开库管理器,选中新建的库ubug_lib,点击“封装”按钮后“新建”按钮变为可点击,如下图所示:
945 0