flex 里怎样改变image控件里图片的 颜色

image里的图片是网络上的,我用一个source属性引用的,怎样让那张图片变成灰色呢?请问我这样用对吗?<mx:Imagefilters="{newColorMatri... image里的图片是网络上的,我用一个source属性引用的,怎样让那张图片变成灰色呢?
请问我这样用对吗?
<mx:Image filters="{new ColorMatrixFilter([0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0,0, 0.3086, 0.6094, 0.0820, 0, 0, 0, 0, 0, 1, 0])}">
展开
 我来答
jwxkk
推荐于2016-09-25 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:204万
展开全部
as3代码 滤镜 灰度

使用灰度矩阵创建ColorMatrixFilter对象
讨论
应用灰度效果可使所有颜色都转换为黑白色,下面是一个灰度矩阵描述:
0.3086 0.6094 0.0820 0 0
0.3086 0.6094 0.0820 0 0
0.3086 0.6094 0.0820 0 0
0 0 0 1 0
下面的例子应用了灰度效果:
sampleSprite.filters = [new ColorMatrixFilter([0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0,0, 0.3086, 0.6094, 0.0820, 0, 0, 0, 0, 0, 1, 0])];
也可使用ascb.filters.ColorMatrixArrays.GRAYSCALE常量:
sampleSprite.filters = [new ColorMatrixFilter(ColorMatrixArrays.GRAYSCALE)];
10.12.改变饱和度
问题
我想改变对象的饱和度
解决办法
使用饱和度矩阵创建ColorMatrixFilter对象
讨论
饱和度矩阵:
a b c 0 0
d e f 0 0
g h i 0 0
0 0 0 1 0
具体计算公式看下面,i是饱和度值:
a = (1 value) * red + value
b = (1 value) * green
c = (1 value) * blue
d = (1 value) * red
e = (1 value) * green + value
f = (1 value) * blue
g = (1 value) * red
h = (1 value) * green
i = (1 value) * blue + value
当饱和度值为0时,这个矩阵就是灰度矩阵。
我们可使用ascb.filters.ColorMatrixArrays.getSaturationArray( )方法构造一个饱和度矩阵数组,只需要传递饱和度值即可。
sampleSprite.filters = [new ColorMatrixFilter(ColorMatrixArrays.getSaturationArray(2))];
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bais888
2010-06-28 · TA获得超过139个赞
知道答主
回答量:95
采纳率:0%
帮助的人:67.3万
展开全部
改变图片的透明度就可以了。试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式