PDA

Просмотр полной версии : Черно-белая картинка


Skinner
05.11.2004, 18:25
Здрасте.
Кто-нибудь знает, как подгруженный мувик обесцветить.
Ну типа как меняется свойство alpha, только картинка чтоб стала чб?
Ну или способ какой?
Только не предлагайте плиз рисовать черно-белый дубликат мувика ;)

Lorex
05.11.2004, 19:47
не разбирался в етом направлении . .но в флеше есть об"ект Color ..... берешь значение RGB КАЖДОГО елемента мувика.... ну чтонибуть как foreach юзай.... ну и надо свою функцию которая по трех параметрах RGB (ну или одного RGB в HEX значении) вьідает тебе значение серого цвета.... тоже как я понимаю в RGB (но в сером - R=G=B.... тоесть каждая компонента равна двум другим.... ).......... попробуй находить среднее значение.... и присваивать ето каждому елементу мувика....... каждому свое......

вот издержка из хелпа:

Color (объект)

Объект Color позволяет Вам устанавливать и изменять RGB-значения мувиклипов и главного клипа и извлекать эти значения после их установки.

Вы должны использовать конструктор new Color() для создания экземпляра объекта Color, прежде, чем вызывать его методы.

Объект Color доступен во Flash 5 или более поздних версий Flash Player.


Таблица методов объекта Color

Метод
Описание

Color.getRGB
Возвращает числовое RGB-значение, установленное при последнем вызове метода setRGB.

Color.getTransform
Возвращает информацию об изменениях, установленную последним вызовом метода setTransform.

Color.setRGB
Устанавливает шестнадцатеричное представление RGB-значения для объекта Color.

Color.setTransform
Устанавливает изменение цвета для объекта Color.





Конструктор для объекта Color

Доступность


Flash Player 5.

Синтаксис


new Color(target)
Параметры


target Имя экземпляра мувиклипа (Movie Clip).

Возвращает


Ничего.

Описание


Конструктор, создает экземпляр объекта Color для мувиклипа, определенного в аргументе target. Затем можете использовать методы этого объекта Color для изменения цвета мувиклипа.

Пример


Следующий пример создает экземпляр объекта Color, именованного myColor для мувиклипа myMovieClip и устанавливает для него RGB-значение цвета:

myColor = new Color(myMovieClip);
myColor.setRGB(0xff9933);

Skinner
05.11.2004, 22:27
Попробую. Спасибо.

fiot
06.11.2004, 14:05
Color.prototype.negative = function()
{
var trans = {};
trans.ra = trans.ga=trans.ba=-100;
trans.rb = trans.gb=trans.bb=255;
this.setTransform(trans);
};
Object.prototype.HEXtoRGB = function(hex)
{
var rgb24 = (isNaN(hex)) ? parseInt(hex, 16) : hex;
var r = rgb24 >> 16;
var g = (rgb24 ^ (r << 16)) >> 8;
var b = (rgb24 ^ (r << 16)) ^ (g << 8);
return {r:r, g:g, b:b};
};
Color.prototype.getGray = function()
{
var RGB = this.getTransform();
var gray = Math.round(.3*RGB.rb+.59*RGB.gb+.11*RGB.bb);
return {rb:gray, gb:gray, bb:gray};
};
example:
col = new Color(_root.movie);
col2 = new Color(_root.movie_2);
col.setTransform({rb:40, gb:255, bb:40});
col2.setTransform(col.getGray());
col.negative();

Skinner
06.11.2004, 14:10
Огромное пасибо! Оно работает. Я думал это намного сложнее ;)

Штрек
06.11.2004, 21:13
Оригинал написал(а) Skinner
Огромное пасибо! Оно работает. Я думал это намного сложнее ;)
Позаходи сюда (http://proto.layer51.com)
и ещё не то увидишь...