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

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

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

Регистрация: Mar 2010
Сообщений: 2
Tools перекрашивание картинки

Доброго времени! Такая проблема: меняю цвета на битмапе через ColorTransform(1,1,1,1, rOffset, gOffset, bOffset, 0) ; по событию от формы - редактора смещений. Размер картинки 420х550. На первый (любой) канал реакция в секунду, на последующие изменения - десятки секунд, а то и минуты ;((. Вопросы: 1) почему так тормозит перекрашивание картинки и нет ли средства ускорить процесс, 2) нигде не нашел событий типа "beginUpdate" - "endUpdate", или хотя бы сообщение от рендера об обновлении на этой картинке..

Старый 05.03.2010, 17:45
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 2  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
а вы уверены что ColorTransform не выполняется в основном потоке? зачем тогда события? что-то у вас не-то... задержки уж больно запредельные.. код в студию..
__________________
Отряд Котовскага

Старый 05.03.2010, 19:37
leonidge вне форума Посмотреть профиль Отправить личное сообщение для leonidge Найти все сообщения от leonidge
  № 3  
Ответить с цитированием
leonidge

Регистрация: Mar 2010
Сообщений: 2
.... код? Это из 4-х модулей от 200 до 700 строк ... попробую на словах:
1) самодельная форма, объект _colors, что-то типа ColorBox, задаем смещение по каналам, при установке курсора в новую позицию, в обработчике на MouseUp, генерим свое событие - dispatchEvent(new Event(Colorsetevent)) ;
2) в модуле - инструменте редактирования, который создает объект _colors, регистрируем функцию coloraction: _colors.addEventListener(_colors.Colorsetevent, coloraction) ;
3) coloraction транслирует сообщение из модуля - инструмента в головной, где выложена редактируемая картинка, и передает значения по каналам eldata.offr, eldata.offg, eldata.offb - см. код ниже;
4) вызывается вот эта хелповая функция (на проверки не обращайте внимания):

public function elmdecolors(aElm : DisplayObject) : Boolean
{ with (GJ_global) {
if ((eldata.type == MOV) || (eldata.type == TXT)) { return false ;}

var transcolor : ColorTransform = aElm.transform.colorTransform ;

var rOffset : Number = transcolor.redOffset + eldata.offr ;
var gOffset : Number = transcolor.greenOffset + eldata.offg ;
var bOffset : Number = transcolor.blueOffset + eldata.offb ;

aElm.transform.colorTransform = new ColorTransform(1,1,1,1, rOffset, gOffset, bOffset, 0);

return true ;
} } // elmdecolors

Здесь aElm - Bitmap, лежит в контейнере головной формы...
Все это работает, структура такая, т.к. инструментов несколько: геометрия, уровни. Если уменьшаю картинку aElm в разы - все работает "в лет". При максимальном размере 420х550 реакция - от секунд до минуты, при этом мышь бегает и другие формы активны!

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

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

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


 


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


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