• FLEX蒙板处理


    同事在处理绘图时,总有些超出边界,flex可不管你超不超,照样show出来,而在window编程中有API
    selectClipRng来处理,在flex中可以实现,示例如下:

    in maskExample.mxml
     1 <?xml version="1.0"?>
     2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
     3      width="100%" height="100%">
     4     <mx:CheckBox id="cb1" label="enable mask" x="26" y="258"
    selected
    ="false" click="enableMask(cb1.selected);"/>
     5     <mx:TextArea id="t1" x="26" y="58" width="352" height="192" wordWrap="true">
     6         <mx:text><![CDATA[
           省略
    12 ]]></mx:text>
    13     </mx:TextArea>
    14     <mx:creationComplete>
    15         <![CDATA[
    16             //enableMask(cb1.selected);
    17         ]]>
    18     </mx:creationComplete>
    19     <mx:Script>
    20         <![CDATA[
    21 
    22             private function enableMask(mode:Boolean):void
    23             {
    24                 var mask:Sprite = t1.getChildByName("_masker") as Sprite;
    25                 if(mode){
    26                     if(!mask){
    27                         mask = new Sprite();
    28                         mask.name ="_masker";
    29                         t1.addChild(mask);
    30                         t1.mask = mask;
    31                         
    32                         var w:int = t1.width;
    33                         var h:int = t1.height;
    34                         var g:Graphics = mask.graphics;
    35                         g.beginFill(0x000000);
    36                         g.drawRect(20,20,w-10,h-10);
    37                         g.endFill();
    38                     }
    39                 }else{
    40                     if(mask){
    41                         t1.mask = null;
    42                         t1.removeChild(mask);
    43                     }
    44                 }
    45             }
    46         ]]>
    47     </mx:Script>
    48     <mx:Label x="26" y="21" text="蒙板示例" color="#D72626" width="112" fontSize="19"/>
    49     
    50 
    51 </mx:Application>
    52 
    29行:蒙板也必须是目标对象的child.故采用addChild;
    30行:就是将sprite设置为蒙板。


  • 相关阅读:
    Eclipse CDT 调试故障解决:Can't find resource for bundle java.util.PropertyResourceBundle
    winpcap 枚举网卡设备Demo
    ORCA msi修改工具 解决 msn 卡巴斯基 iTune等不能在Windows Server 2003下安装的问题
    收藏 彩色转灰度的舍入问题
    C++之仿函数
    CTreeCtrl icon 背景透明 解决方法
    colinux 运行和配置
    生成COM Dll的tlb文件的两种方法
    windows下建立gcc/g++/gdb/make编译及调试C/C++的IDE环境
    使用伪寄存器调试MSVC++程序的介绍An introduction to debugging in MSVC++ using Pseudoregisters
  • 原文地址:https://www.cnblogs.com/jssy/p/889709.html
Copyright © 2020-2023  润新知