`
fireflylover
  • 浏览: 110454 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

Flex操作颜色值及图像颜色变换

    博客分类:
  • FLEX
阅读更多

 

根据色彩值分离出单色值的方法

Flash里颜色都用uint(无符号整型)来表示,“无符号”意思是没有正负(+-)号,永远为正数。32 位颜色值在 AS 3 中总是以 uint 类型存储,这是因为无符号整型比(有符号)整型能够保留更多的数值。 Int 和 uint 都可以存储 32 位数,这个数值大于 40 亿。

 

color24表示0xRRGGBB的颜色值

 

Java代码

 

 

<SPAN style="FONT-SIZE: small">red = color24 >> 16;

green = color24 >> 8 & 0xFF;

blue = color24 & 0xFF;</SPAN>

 

color32表示0xAARRGGBB

 

alpha = color32 >> 24;
red = color32 >> 16 & 0xFF;
green = color32 >> 8 & 0xFF;
blue = color32 & 0xFF;

 

 

得到的alpha,red,green,blue等是0—255的单色值。

如果根据单色值合成颜色值的话,也就是上面的逆运算,是这样的

 

color32 = alpha << 24 | red << 16 | green << 8 | blue;

 

图像颜色变换

 

首先获取到想要进行颜色变换显示元素的transform属性,这个属性还有两个重要的属性:

一个是matrix,这个是用来做缩放、旋转、平移的;

另一个是colorTransform,这个是用来对显示元素的整体做颜色变换的。

今天的重点在colorTransform。比如,美工只需给程序提供一幅图片,比如这个图片是一件衣服,程序可以在客户端来渲染,生成这种颜色的衣服,资源只需一张图片,服务器和客户端在这个方面的通信量也只是个32为的无符号整型数。

 

var t:ColorTransform = sth.transform.colorTransform;
t.redMultiplier = redRate;
t.redOffset = redOffset;
//blue,green,alpha同上

 

sth.transform.colorTransform = t;

 

 

 计算公式是

  • 新红色值 = (旧红色值 * redMultiplier ) + redOffset;

 这样sth就会整体进行颜色值的变换了。

 

图像进行像素级的操作

 

 

主要会用到bitmap和bitmapData这两个类,bitmap只是个壳儿,bitmapData储存了实际的像素数据,相当于一个杯子(bitmap),这里面或者是饮料、或者是茶、或者是咖啡(bitmapData),如果想加点糖或者牛奶调调口味的话,跟杯子是没有关系的,只跟里面的水有关系,一杯纯净的水就相当于bitmap里面有个空的bitmapData,bd里面填充了像素点,就是一杯饮料了。

在做粒子系统或者图像快照等都会用到这两个类,bitmapData是个很强大的类,借助BitmapDataChannel可以分离ARBG通道值,可以为单独的某个像素点,甚至是某个像素通道来进行精准控制。并提供了一些有价值的通用函数。理论上来说,可以达到“只有你想不到,没有我做不到”的效果了。bitmapData可以聊的东西有很多,详情还是看API就直接了。bitmap也是显示元素,它也拥有上面说的transform属性的。

分享到:
评论

相关推荐

    Flex图像编辑工具

    Flex图像编辑工具是一种基于Adobe Flex技术的图形处理应用程序,它允许用户进行各种图像编辑操作。Flex是由Adobe开发的一种开源框架,主要用于构建富互联网应用程序(RIA),尤其在Web应用中广泛应用。该工具的手动...

    flex 图片操作

    在本话题中,我们将探讨“flex图片操作”,这涉及到如何使用Flex来处理和展示图片,包括调整角度和应用滤镜等视觉效果。 一、Flex中的图片显示 在Flex中,我们可以使用`mx.controls.Image`组件来显示图片。这个...

    flash as 3利用滤镜变换位图颜色

    此外,我们还可以通过动态调整颜色矩阵的值来实现动画效果,使颜色变换更加流畅。 在实际开发中,`ColorMatrixFilter`广泛应用于游戏、交互式媒体、网页设计等领域,用于创建独特的视觉效果和用户界面。熟悉如何...

    fl.zip_flex

    6. **fl.utils**: 提供了各种实用工具类,如Matrix、ColorTransform等,帮助开发者进行复杂的图形变换和颜色操作。 **使用fl.swc** 在Flex项目中,导入"fl.swc"库非常简单。开发者可以在Flex Builder或命令行编译器...

    Flex3 Explorer四合一本地版本之Flex2FilterExplorer

    过滤器是应用于显示对象(如文本、图像或图形)的一系列视觉变换,它们可以实时改变对象的外观,如模糊、颜色转换或渐变。Flex2FilterExplorer则提供了一个直观的界面,让用户能够轻松尝试和了解这些过滤器,以便在...

    flex_Actionscript3

    ##### 4.3 颜色变换 通过改变颜色属性实现视觉效果的变化。 ##### 4.4 滤镜 - **创建滤镜**:如模糊、锐化等。 - **动画滤镜**:随时间变化的滤镜效果。 ##### 4.5 位图 处理图像文件,包括加载和操作位图数据。 ...

    Flex 3D自己学习过程中的例子

    这涉及到对3D坐标系的理解,以及使用如Matrix3D类进行变换操作。 2. **光照和材质**:3D物体的视觉效果很大程度上取决于光照和材质设置。示例可能包含各种光照类型(如点光源、平行光或聚光灯)的应用,以及不同的...

    arcgis_api_for_flex_1_3

    包含了对几何对象(点、线、面)的基本操作,如创建、比较、变换和分析。开发者可以利用这些功能实现复杂的地理空间计算,例如测量距离、面积,或者执行缓冲区分析。 7. **事件处理与用户交互**: API提供了丰富...

    flex3的cookbook书籍完整版dpf(包含目录)

    flex3的cookbook书籍完整版dpf(包含目录),目录是我花了两个多小时自己整理的,希望对大家有帮助。 目录: 第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 ...

    flex 虚拟翻书源码 隔空翻书源码

    Flex虚拟翻书源码是一种基于Adobe Flex技术实现的互动式电子书应用,它模拟了真实的翻书效果,为用户提供了隔空翻页的体验。在本文中,我们将深入探讨Flex虚拟翻书源码的工作原理、核心技术和实现方法,以及如何进行...

    Flex 实现可以拖动的毛玻璃效果

    总结来说,这个Flex应用程序通过组合使用BitmapData、矩阵变换、滤镜和事件监听器,实现了可拖动的毛玻璃效果。当用户在`ctlBox`上按下鼠标并移动时,`ctlBox`会跟随鼠标移动,同时保持其内部的模糊背景图像,营造出...

    关于皮肤 flex

    ### 关于Flex中的皮肤应用详解 #### 一、皮肤的概念及其重要性 在Flex中,“施加皮肤”是指通过修改或替换组件的可视化元素来改变其外观的过程。这些可视化元素可以是位图、SWF文件或者是包含矢量图绘制方法的类...

    Flex Gumbo 通过smooth属性设置BitmapGraphic对象平滑度的例子

    smooth属性是一个布尔值,当设置为true时,它会启用对位图的平滑处理,以使图像在缩放或变换时看起来更平滑。当设置为false时,则关闭平滑处理,位图图像会以更粗糙的形式显示。 例中的MXML代码定义了一个简单的...

    CoverFlow(com.dougmccune.containers)

    在Flex和Flash开发中,CoverFlow组件允许开发者创建一个动态、吸引人的用户界面,用户可以直观地浏览图像、图标或者其他元素,特别适合于应用在媒体库、相册、产品展示等场景。这种效果通过3D变换和动画技术实现,...

    as3corelib-.93

    6. **颜色处理**: 提供了色彩转换和操作的功能,例如从RGB到HSV的转换,或者颜色的混合和调整。 7. **URL编码与解码**: 支持URL编码和解码,这对于在URL中传递参数或处理返回的URL字符串至关重要。 8. **错误处理*...

    word.rar_FlashMX/Flex源码_FlashMX_

    变形文字(Transform Text)允许设计师将静态文本转化为动态对象,通过平移、旋转、缩放等操作使其呈现各种变换效果。渐变填充文字(Gradient Fill Text)则是一种视觉效果,它使文字的填充颜色从一种颜色平滑过渡到...

Global site tag (gtag.js) - Google Analytics