Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Получить цвет под мышкой (http://www.flasher.ru/forum/showthread.php?t=112715)

willis83 06.06.2008 00:02

Получить цвет под мышкой
 
Какая функция позволяет получить цвет под мышкой? На подобии того как мы можем считать координаты мышки, мне нужно узнать цвет над которым находится мышка в данный момент.:eek:

iNils 06.06.2008 00:23

1. Сделать экземляр класса BitmapData
2. Снять методом draw изображение с _root
3. Методом getPixel получить цвет.

Alex_beginner 06.06.2008 11:14

Вариант №2:
1. Создать экземпляр класса BitmapData c одновременной загрузкой импортированного в библиотеку изображения, используя следующий синтаксис:
Код:

var myBitmap:BitmapData = BitmapData.loadBitmap("ID_изображения_в_библиотеке")
2. Создать пустой MovieClip, к которому приаттачить созданный экземпляр класса BitmapData для его визуализации.
3. Используя полученный экземпляр BitmapData, периодически (в обработчике onMouseMove, например) извлекать значение цвета требуемого пикселя применяя метод getPixel класса BitmapData и "мышачьи" свойства _xmouse и _ymouse (или другие).

Вариант №3:
1. Приаттачить к "пустому" экземпляру MovieClip символ из библиотеки, содержащий анализируемое изображение.
2. Создать экземпляр класса BitmapData;
3. Методом draw, созданного экземпляра отрендерить мувиклип с изображением на поверхность BitmapData;
4. Далее все как в п.2 и п.3. варианта №2.

Удачи!

willis83 06.06.2008 11:25

Спасибо огромное, ща буду пробовать!:cool:

silin 06.06.2008 12:00

ради ясности:
если речь только о том чтобы "получить цвет под мышкой", то все эти пустые мувики, аттачи битмапов, визуализация.. не при делах совсем

ничего более того, что сказал iNils, не требуется:
Код:

function getMouseColor():Number
{
        var bmd:BitmapData = new BitmapData(Stage.width, Stage.height);
        bmd.draw(_root);
        var clr:Number = bmd.getPixel(_root._xmouse, _root._ymouse);
        bmd.dispose();
        return clr;
       
}


Alex_beginner 06.06.2008 12:03

silin! Пустое!!! Задача неопределенна - вариантов туча.

Вы когда нибудь решали систему уравнений с 2 неизвестными и 20 уравнениями. Попробуйте. Для начала посчитайте степени свободы.

silin 06.06.2008 14:24

да-да, вариантов всегда много..
вопрос в том насколько прямо они решают поставленную задачу,
а то ведь чтоб "получить цвет под мышкой" можно и на сервер скриншот отправить и там с ним поработать..

willis83 06.06.2008 20:14

у меня стоит Flash MX 2004 и компилятор говорит что класс BitmapData не опознан. Его ещё не было во flash 7?

iNils 06.06.2008 20:23

Не было.

Alex_beginner 06.06.2008 20:25

silin! А вот сейчас, willis83 и поставил задачу. И где же Ваши твердые убеждения на счет ясности - развеялись как туман.
Поэтому, давайте лучше будем думать, а не рассуждать о том, что является "ясностью", а что ей не является.

Ваши предложения!!?


Часовой пояс GMT +4, время: 23:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.