本文主要是介绍egret 应用ColorMatrixFilter使图片或各种控件变灰,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用
ColorMatrixFilter
类可以将 4 x 5 矩阵转换应用于输入图像上的每个像素的 RGBA 颜色和 Alpha 值,以生成具有一组新的 RGBA 颜色和 Alpha 值的结果。该类允许饱和度更改、色相旋转、亮度为 Alpha 以及各种其他效果。
使用这种方法可以不用出多余的图片资源
-
先说下白鹭怎么使用这个接口:
let colorFilter: egret.ColorMatrixFilter = new egret.ColorMatrixFilter(colorGrayMatrix);(<eui.Image>this.skin["i_Power"]).filters = [colorFilter];
-
你将每个颜色通道与一个值相乘按比例的改变亮度,大于1的增加亮度小于1减小亮度,那么将图像转换为灰度图,你需要将每个通道的部分设为等值,如下:
//灰色矩阵: let colorGrayMatrix = [0.3, 0.6, 0, 0, 0,0.3, 0.6, 0, 0, 0,0.3, 0.6, 0, 0, 0,0, 0, 0, 1, 0 ];
其他:
//反转:
let colorOPPMatrix = [-1, 0, 0, 1, 1,0, -1, 0, 1, 1,0, 0, -1, 1, 1,0, 0, 0, 1, 0
];
这篇关于egret 应用ColorMatrixFilter使图片或各种控件变灰的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!