博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原创]ActionScript3游戏中的图像编程(连载十三)
阅读量:5107 次
发布时间:2019-06-13

本文共 844 字,大约阅读时间需要 2 分钟。

总目录:

 

1.2.9 用ColorTransform实现反色效果

      本节的最后,我给大家来一个稍稍有点意思的效果——反色。这种颠覆性的变换,线性的ColorTransform也能做到?答案是肯定的!所谓的反色,就是白变黑,黑变白,浅变深,深变浅,它的计算公式也非常简单,用100%减去原值就能得到结果色。即

1 dst = 255 – src;

      套到ColorTransform的计算公式中,就有:

1 red(dst) = red(src) * (-1) + 255。2 green(dst) = green(src) * (-1) + 255 3 blue(dst) = blue(src) * (-1) + 255

      换而言之,只要将offset都设为255,multiplier都设成-1即可(可能有的童鞋还没想过将multiplier设置为负数吧)。

1 _myColorTransform.redMultiplier = -1;2 _myColorTransform.greenMultiplier =-1;3 _myColorTransform.blueMultiplier = -1;4 _myColorTransform.redOffset = 255;5 _myColorTransform.greenOffset = 255;6 _myColorTransform.blueOffset = 255;

 

      可出来的效果跟预期的不一致。(图 1.19)

图 1.19 反色效果

 

      经过将近两周的纠结之后,我终于找到了问题的症结所在——跟BlendMode发生冲突了。因为BlendMode.ADD也是像素运算,两者混合后的运算机制以及优先级规则尚有待作进一步的研究。

把BlendMode.ADD一句去掉之后,反色效果跃然屏上。(图 1.20)

 

图 1.20 修正后的反色效果

转载于:https://www.cnblogs.com/iloveas/p/3888496.html

你可能感兴趣的文章
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>
python 描点画圆
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
VUE源码解析心得
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>