zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    用好idea这几款插件,可以帮你少写30%的代码
    面试官:一个TCP连接可以发多少个HTTP请求?
    php5.4、5.5、5.6高版本中htmlspecialchars兼容性处理
    IIS8的SNI功能实现同一服务器多HTTPS站点
    appache 在windows 中无法启动的测试
    lumen 支持多文件上传及php 原生多文件上传
    laravel windows安装
    jQuery 为动态添加的元素绑定事件
    thinkphp 5.0 在appache下隐藏index.php入口代码
    thinkphp5.0 分页中伪静态的处理
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1283440.html
Copyright © 2011-2022 走看看