Как осветлить или затемнить изображение Flex 4 - PullRequest
1 голос
/ 12 сентября 2011

Есть ли способ затемнить или осветлить изображение или вообще любой экранный объект при наведении мыши, а затем восстановить его обратно при наведении мыши? Я бы предпочел использовать фильтры, если это возможно только потому, что я уже применяю фильтр при наведении мыши и удаляю его при наведении мыши. Тогда я смогу добавить его в список фильтров. Если нет, то это нормально. В своем коде я использую компонент Flex 4 Spark Image.

Ответы [ 2 ]

5 голосов
/ 12 сентября 2011

Вы должны использовать 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 голос
/ 12 сентября 2011

Самый простой способ сделать это - создать цветовой фильтр и применить этот цветовой фильтр к изображению при наведении курсора и удалить фильтр при развертывании.

Подробнее см. На сайте: http://cookbooks.adobe.com/post_Convert_images_to_grayscale_using_ActionScript_-12769.html

Спасибо

...