如何使Flex 4图像变亮或变暗

时间:2011-09-12 16:44:31

标签: flex image flex4

有没有办法让鼠标悬停或变亮图像或实际上任何显示对象,然后在鼠标移出时将其还原?如果可能的话,我更愿意使用过滤器,因为我已经在鼠标上应用过滤器并在鼠标移除时删除它。然后我就可以将它添加到过滤器列表中。如果不是那样的话。在我的代码中,我使用的是Flex 4 Spark Image组件。

2 个答案:

答案 0 :(得分:5)

您应该使用ColorTransform。下面显示了如何利用它。

image.addEventListener(MouseEvent.MOUSE_OVER, checkTransform);
image.addEventListener(MouseEvent.MOUSE_OUT, checkTransform);

private function checkTransform(e:event):void
{
    if(e.type == MouseEvent.MOUSE_OVER)
        image.transform.colorTransform = new ColorTransform(0.5, 0.5, 0.5); //multiplies all RGB-values by 0.5
    else
        image.transform.colorTransform = new ColorTransform(1, 1, 1); //restores to default image
}

这应该可以解决问题。有关ColorTransform的更多信息:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/ColorTransform.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6

答案 1 :(得分:1)

最简单的方法是创建一个滤色器,并在翻转时将此colorfilter应用于图像,并在卷展栏上移除滤镜。

详情请访问: http://cookbooks.adobe.com/post_Convert_images_to_grayscale_using_ActionScript_-12769.html

由于