PDA

Просмотр полной версии : Создать силуэт фотографии...


profi80
19.12.2005, 23:25
Народ, нужно сделать такой эффект:
Фотка человека загружается с сервера в мувик, потом надо сделать силуэт этого человека и этот силует плавно перемещается из-за экрана в центр. После чего силуэт заменяется на саму фотку.

Задача осложняется тем что количество фоток может быть произвольным.

Суть моего вопроса - как сделать так, чтобы во втором фрейме мувиклипа-контейнера (в него загружается фотка - png с прозрачным фоном) появился силуэт этой фотки тоже с прозрачным фоном? Силуэт закрашенный однотонным цветом.

MOHCTEP
20.12.2005, 00:04
В каждый фрейм грузишь свою картинку. Силуэт можно в гифе сделать, если контур "резкий". Быстрее подгрузится. Надеюсь, понял правильно проблему?

profi80
20.12.2005, 00:19
эээ... так нельзя! надо чтоб картинка была одна. кстати, как указать фрейм в который надо загрузить картинку. я использую класс MovieClipLoader.

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

KUZEN
20.12.2005, 00:55
эээ... так нельзя! надо чтоб картинка была одна. кстати, как указать фрейм в который надо загрузить картинку. я использую класс MovieClipLoader.

неужели нельзя программно создать картинку, залитую белым цветом по контуру человека?
В восьмёрке можно , но это достаточно сложно, нужно смотреть цвет каждого пикселя подгруженной картинки и на основании этих данных рисовать контур ... самый простой способ запихать картинку в swf и нарисовать в другом кадре силует ...

MOHCTEP
20.12.2005, 01:11
В 7 тоже можно. Исходник не шлю - здоровый! Переделывать некогда. Вот код:

//img - имя мувика с картинкой на сцене.
var col:Color=new Color(img);
var dec=5;
var colTrans:Object={rb:0, gb:0, bb:0};
col.setTransform(colTrans);
this.onEnterFrame = function(){
colTrans.rb=colTrans.gb=colTrans.bb+=dec;
col.setTransform(colTrans);
if(colTrans.rb>=255||colTrans.rb<=-255){
dec*=-1;
//delete this.onEnterFrame;
trace('End!\t'+dec);
}
}

Меняем цвет от черного до белого.

KUZEN
20.12.2005, 01:15
В 7 тоже можно. Исходник не шлю - здоровый! Переделывать некогда. Вот код:

//img - имя мувика с картинкой на сцене.
var col:Color=new Color(img);
var dec=5;
var colTrans:Object={rb:0, gb:0, bb:0};
col.setTransform(colTrans);
this.onEnterFrame = function(){
colTrans.rb=colTrans.gb=colTrans.bb+=dec;
col.setTransform(colTrans);
if(colTrans.rb>=255||colTrans.rb<=-255){
dec*=-1;
//delete this.onEnterFrame;
trace('End!\t'+dec);
}
}

Меняем цвет от черного до белого.
Ну если ему нужна тажа фотография, только с эффектом затемнения то такой способ вполне катит, а если ему нужен вектор, то это не подойдёт ...

profi80
20.12.2005, 01:25
похоже, похоже ...
эта штука изменяет один из цветов в RGB палитре всего мувика или только битмапа в нём? А с прозрачностью что будет? У меня PNG с прозрачным фоном...

profi80
20.12.2005, 01:26
Не надо вектор. Надо битмап. И второй вопрос: как загрузить во второй фрейм мувиклипа?

profi80
20.12.2005, 01:28
МОНСТЕР: Круто. :cool: Пасиб!


похоже, похоже ...
эта штука изменяет один из цветов в RGB палитре всего мувика или только битмапа в нём? А с прозрачностью что будет? У меня PNG с прозрачным фоном...

MOHCTEP
20.12.2005, 01:38
Пжалста.:-)
Меняется только цвет битмапа, прозрачность не затрагивается.

KUZEN
20.12.2005, 01:39
МОНСТЕР: Круто. :cool: Пасиб!


похоже, похоже ...
эта штука изменяет один из цветов в RGB палитре всего мувика или только битмапа в нём? А с прозрачностью что будет? У меня PNG с прозрачным фоном...
Всего мувика ... а прозрачность как была так и будет (скорей всего, я не тестил), а что стоит самому попробовать ?

MOHCTEP
20.12.2005, 01:40
Не надо вектор. Надо битмап. И второй вопрос: как загрузить во второй фрейм мувиклипа?
Создать там "руками" пустой мув-контейнер и грузить в него кодом.

profi80
20.12.2005, 03:18
А нельзя адресоваться на второй фрейм? Типа так :
my_mc.nextFrame(); my_mc.loadMovie("pic.png");

KUZEN
20.12.2005, 15:48
А зачем этот изврат всё можно сделать в одном кадре

MOHCTEP
20.12.2005, 19:34
А зачем этот изврат всё можно сделать в одном кадре
И то правда! Наплодил мувиков, Надублировал туды картинок - и издевайся как хочешь! :D