注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

Flex4.5颜色选择器的实现  

2011-06-04 12:32:02|  分类: flex |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

接下来的例子演示了Flex中如何将颜色的值转化为字符串,根据RGB计算出各个值以及格式化颜色值。

<?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"  backgroundColor="white" minWidth="955" minHeight="600">
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
  <fx:Model id="colorObj">
   <root>
    <color>{colorPicker.selectedColor}</color>
    <red>{rChannel(colorObj.color)}</red>
    <green>{gChannel(colorObj.color)}</green>
    <blue>{bChannel(colorObj.color)}</blue>
   </root>
  </fx:Model>
 </fx:Declarations>
 
 <fx:Script>
  <![CDATA[
   private function fixedInt(value:int, mask:String):String {
    return String(mask + value.toString(16)).substr(-mask.length).toUpperCase();
   }
   
   private function rChannel(value:int):int {
    return value >> 16 & 0xFF;
   }
   
   private function gChannel(value:int):int {
    return value >> 8 & 0xFF;
   }
   
   private function bChannel(value:int):int {
    return value >> 0 & 0xFF;
   }
   
   private function rgbToInt(r:int, g:int, b:int):int {
    return r << 16 | g << 8 | b << 0;
   }
  ]]>
 </fx:Script>
 
 
 <mx:Form>
  <mx:FormItem label="Color:" direction="horizontal">
   <mx:ColorPicker id="colorPicker" />
   <mx:Label text="0x{fixedInt(colorPicker.selectedColor, '000000')}" width="100" />
  </mx:FormItem>
  <mx:FormItem label="Red:" direction="horizontal">
   <mx:Label text="{colorObj.red}" />
   <mx:Label text="(0x{fixedInt(colorObj.red, '00')})" />
  </mx:FormItem>
  <mx:FormItem label="Green:" direction="horizontal">
   <mx:Label text="{colorObj.green}" />
   <mx:Label text="(0x{fixedInt(colorObj.green, '00')})" />
  </mx:FormItem>
  <mx:FormItem label="Blue:" direction="horizontal">
   <mx:Label text="{colorObj.blue}" />
   <mx:Label text="(0x{fixedInt(colorObj.blue, '00')})" />
  </mx:FormItem>
  <mx:FormItem label="Color:" direction="horizontal">
   <mx:Label text="{colorObj.color}" />
   <mx:Label text="(0x{fixedInt(rgbToInt(colorObj.red, colorObj.green, colorObj.blue), '000000')})" />
  </mx:FormItem>
 </mx:Form>
 
 <mx:Label text="{int(0xFF00FF)}" />
 
</s:Application>


 

Flex4.5颜色选择器的实现 - wolfgangkiefer - wolfgangkiefer的博客

 可以发现的是FLEX中适用的颜色RGB值一般都会加上0x作为前缀,所以要注意这一点了,对比一下常规颜色RGB值就可以发现了。

  评论这张
 
阅读(1399)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017