Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> применение градиент-маски к обьекту Bitmap, применение градиент-маски к обьекту Bitm 
:(
    Опции темы
egoistu
Дата 5.7.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 16.6.2009

Репутация: нет
Всего: нет



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

ребята... есть проблемка с применением градиент маски к изображению...
разясняю...

делаю Image Scroller...
что-то типа галереи фотографий...
и так...
есть картинка... под ней её перевёрнутая копия... отражение...
к отражению надо применить градиент маску...
ну чтоб постепенно исчезала...

хотя это не важно скорей всего... но... всё-же...
для каздой картинки галереи... свой мовиклип... в нём 3 елемента...
сама картинка... её отражение... и градиент типа Shape...

значит... картинку ставлю... ставлю отражение... на отражение накладываю градиент...
всё в порядке... но...
как только к свойству .mask присваиваю сам градиент...
по какой-то не понятной мне причине они меняют свой размер...
(отражение и маска)

самое странное... точно такой способ как и тут применял в другой части...
в смысле отражение с градиентом...
там всё нормально работает...

вот код...
Код

    // Save image
    this.image = new Bitmap(event.target.content.bitmapData);
    this.image.smoothing = true;
    
    // Resize image
    this.image.height = scroller.container.main.stageHeight / 2;
    this.image.scaleX = this.image.scaleY;
    this.image.x = -this.image.width / 2;
    this.image.y = -this.image.height / 2;
    
    // Set item position
    this.x = this.getNextX() + this.image.width / 2 + 5;
    //this.y = scroller.container.main.stageHeight / 4 + this.image.height / 2;
    this.y = 100;
    
    // Add image
    this.addChildAt(this.image, 0);
    
    // Create reflection        
    var reflection:Bitmap = new Bitmap(event.target.content.bitmapData);
    reflection.smoothing = true;
    reflection.rotationX = 180;
    reflection.x = this.image.x;
    reflection.y = this.image.y + this.image.height * 2 + 1;
    reflection.alpha = 0.5;
    reflection.width = this.image.width;
    reflection.height = this.image.height;

    // Add reflection
    this.addChildAt(reflection, 1);

    // Create gradient
    var matrix:Matrix = new Matrix();
    matrix.createGradientBox(reflection.width, reflection.height, Math.PI / 2);
    
    var gradient:Shape = new Shape();
    gradient.rotationX = 180;
    gradient.x = reflection.x;
    gradient.y = reflection.y;
    gradient.graphics.beginGradientFill(GradientType.LINEAR, [0xFFFFFF, 0xFFFFFF], [0, 1], [127, 255], matrix);
    gradient.graphics.drawRect(0, 0, reflection.width, reflection.height);
    gradient.graphics.endFill();
    
    // Add gradient
    this.addChildAt(gradient, 2);
        
    // Apply gradient to reflected image
    reflection.mask = gradient;


и еще мелочи... скорей всего не важные...
при наведение мышки на картинку...
а точнее на мовик с картинкой, отражением и маской...
запускается Tween... scaleX... scaleY...
10%-ый zoom картинки...

очень надеюсь на вас...
ещё раз спасибо... ;)

скрин-шоты...
без маски...
user posted image

и с маской...
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.