Flash/Flex学习笔记(21):利用colorTransform改变对象的颜色及透明度
时间:2022-04-23
本文章向大家介绍Flash/Flex学习笔记(21):利用colorTransform改变对象的颜色及透明度,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
transform是flash.Display.DisplayObject的属性之一,而colorTransform又是transform的属性,这也就意味着几乎所有对象都可以使用colorTransform属性
这是官方的解释:
当 ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:
新红色值 = (旧红色值 * redMultiplier) + redOffset 新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset 新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset 新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset (注:本人测试下来,好象这一行公式没啥作用) 如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。 如果该值小于 0,它将被设置为 0。
用这个东西可以改变几乎任何对象的R,G,B颜色分量以及透明度,说得通俗点:可以把红车换成绿车,或者把黑脸变白脸.下面是示例代码:
txtRedMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
txtGreenMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
txtBlueMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
txtAlphaMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
txtRedOffset.addEventListener(Event.CHANGE,ChangeHandler);
txtGreenOffset.addEventListener(Event.CHANGE,ChangeHandler);
txtBlueMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
txtAlphaMultiplier.addEventListener(Event.CHANGE,ChangeHandler);
function ChangeHandler(e:Event) {
var redMultiplier:Number=txtRedMultiplier.value;
var greenMultiplier:Number=txtGreenMultiplier.value;
var blueMultiplier:Number=txtBlueMultiplier.value;
var alphaMultiplier:Number=txtAlphaMultiplier.value;
var redOffSet:Number=txtRedOffset.value;
var greenOffSet:Number=txtGreenOffset.value;
var blueOffSet:Number=txtBlueOffset.value;
var alphaOffSet:Number=txtAlphaOffset.value;
//trace("redMultiplier=" + redMultiplier);
//trace("greenMultiplier=" + greenMultiplier);
//trace("blueMultiplier=" + blueMultiplier);
//trace("alphaMultiplier=" + alphaMultiplier);
var color:ColorTransform = new ColorTransform(redMultiplier,
greenMultiplier,
blueMultiplier,
alphaMultiplier,
redOffSet,
greenOffSet,
blueOffSet,
alphaOffSet);
R.transform.colorTransform =
G.transform.colorTransform =
B.transform.colorTransform =
RGB.transform.colorTransform =
img.transform.colorTransform = color;
}
ChangeHandler(null);
stop();
从该示例中也可以看出,如果要消除一张图片颜色中的红色分量,只要将redMultiplier设置为0即可,不过红色分量消除后,其值变为0,即原来红色的部分会变成黑色,如果想把纯红换成纯绿,还要再把greenOffSet设置为255
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 虚拟机kali安装vmtools
- Android动画学习笔记之补间动画
- [- Flutter 数据&状态篇 -] setState
- flutter 自定义websocket路由的实现
- Flutter开发之路由与导航的实现
- Android BSearchEdit 搜索结果选择框的实例代码
- 使用AccessibilityService实现微信自动切换账号功能
- Android评分RationBar控件使用详解
- Flutter里面错误捕获的正确方法
- django3 websockets
- 使用AccessibilityService实现自动遍历点赞功能
- Android自定义字母导航栏
- [-Flutter 自组篇-] 圆形进度条
- Flutter 滚动监听及实战appBar滚动渐变的实现
- Android 开机充电图标和充电动画效果