Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.01.2011, 20:26
Eye47 вне форума Посмотреть профиль Отправить личное сообщение для Eye47 Найти все сообщения от Eye47
  № 1  
Ответить с цитированием
Eye47

Регистрация: Jan 2011
Сообщений: 25
Отправить сообщение для Eye47 с помощью ICQ Отправить сообщение для Eye47 с помощью Skype™
По умолчанию Как отрисовать содержимое окна в bitmap?

Вчера alatar сказал, что чтобы "размыть" содержимое окна, его нужно сначала отрисовать в bitmap. Думал, справлюсь, попытался сделать так:
Код AS3:
var layout:BitmapData = new BitmapData(800,600);
layout.draw(stage);
Однако, не заработало. Думал, заработает, когда оберну весь код в листенер Event.ADDED_TO_STAGE (когда stage добавится в список отображения), однако этот способ также не помог. Подскажите как отрисовать в bitmap содержимое окна, пожалуйста=)

Старый 25.01.2011, 20:30
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Потому что не отрисовали в битмапу.
Код AS3:
var bitmap:Bitmap = new Bitmap(layout);
addChild(bitmap);
__________________
тут я

Старый 25.01.2011, 20:47
Eye47 вне форума Посмотреть профиль Отправить личное сообщение для Eye47 Найти все сообщения от Eye47
  № 3  
Ответить с цитированием
Eye47

Регистрация: Jan 2011
Сообщений: 25
Отправить сообщение для Eye47 с помощью ICQ Отправить сообщение для Eye47 с помощью Skype™
эт понятно, я же не весь код показал, просто сцена не отрисовывается, ибо это не DisplayObject или bitmapData
и нужно как-то сделать так, чтобы она все-таки отрисовывалась.
если надо, полный код:
Код AS3:
var layout:BitmapData = new BitmapData(800,600);
layout.draw(stage);
layout.applyFilter(layout,new Rectangle(0,0,800,600),new Point(800,600),new BlurFilter());
var bg:Bitmap = new Bitmap(layout);
this.addChild(bg);


Последний раз редактировалось iNils; 17.07.2012 в 16:10.
Старый 25.01.2011, 21:04
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Экземпляр класса Stage является наследником DisplayObject, вообще-то. А вообще странно, может это фильтр все портит? Я сними не работал, но код у вас вообще верный.
__________________
тут я

Старый 25.01.2011, 21:52
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 5  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Eye47, у меня Ваш код все нормально отрисовал
только new Point(0,0)
__________________
freelance | Раздор


Последний раз редактировалось derhab; 25.01.2011 в 21:54.
Старый 25.01.2011, 21:54
Eye47 вне форума Посмотреть профиль Отправить личное сообщение для Eye47 Найти все сообщения от Eye47
  № 6  
Ответить с цитированием
Eye47

Регистрация: Jan 2011
Сообщений: 25
Отправить сообщение для Eye47 с помощью ICQ Отправить сообщение для Eye47 с помощью Skype™
все дело в том, что запрашивал Stage не из основного класса приложения. Может в этом вся проблема?

Добавлено через 2 минуты
смотрите, что пишет при выводе:
Код:
ArgumentError: Error #2005: Неправильный тип параметра 0. Должен быть тип IBitmapDrawable.
at flash.display::BitmapData/draw()
__________________
Я Король Аськи ))


Последний раз редактировалось iNils; 17.07.2012 в 16:10.
Старый 17.07.2012, 15:06
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 7  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
И как эту ошибку удалось преодолеть? Я тоже на нее наткнулся, передаю в draw нормальный дисплей обжект, и он выкидывает эту ошибку

Добавлено через 5 минут
все разобрался, null передавался, а фильтры тут не причем


Последний раз редактировалось PainKiller; 17.07.2012 в 16:22.
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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