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

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

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

Регистрация: Jul 2008
Сообщений: 23
По умолчанию Draw для TextField. Проблема с отображением картинок

Приветствую!
Очень надеюсь на вашу помощь. Долго мучаюсь с одной проблемой. Суть заключается в следующем. После этапа загрузки ХТМЛ контента, я загружаю его в текстовое поле и пытаюсь преобразовать его в битмап при помощи метода Draw. Но при этом не отображаются картинки. Если это сделать несколько позже (к примеру по нажатию кнопки), то все работает как надо. Из этого можно сделать вывод, что на момент вызова Draw, они еще не подгрузились. При помощи метода getImageReference(), можно получить указатель на Loader этой картинки. Но повесив на него обработчик события на окончание загрузки ничего не получил (оно не срабатывает). Да к тому же придется работать с большим количеством контента и лопатить его для расстановки id очень не хочется.

Помогите разобраться пожалуйста!

Для иллюстрации ситуации написал небольшой код:
Код:
package Scripts{
	import flash.display.*;
	import flash.text.*;
	import flash.events.*;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.text.StyleSheet;
	
	public class Main extends MovieClip{
		var TF:TextField;
		
		public function Main(){
			// Загружаем страницу
			var loader:URLLoader;
			loader = new URLLoader();
			loader.addEventListener(Event.COMPLETE, HTMLLoaded);
			
			var request:URLRequest = new URLRequest("Page.html");
			loader.load(request);				
			
			function HTMLLoaded(evt:Event){
				GetBitmapButton.addEventListener(MouseEvent.CLICK, onGetBitmapButtonClick);
				
				// Создаем тексстовое поле для страницы				
				TF = new TextField();
				TF.border = true;
				TF.width = 350;
				TF.height = 500;
				TF.x = 10;
				TF.y = 10;
				TF.wordWrap = true;
				TF.antiAliasType = "NORMAL"
				TF.htmlText = loader.data;
				addChild(TF);
				
				// Создаем битмап из текстового поля (так не работает)
				/*var bmd:BitmapData = new BitmapData(350,500);
				bmd.draw(TF);
				var bm:Bitmap = new Bitmap(bmd);
				addChild(bm);
				getChildAt(1).x = 360;
				getChildAt(1).y = 10;	*/
			}
		}
		
		public function onGetBitmapButtonClick(evt:MouseEvent){
			// Создаем битмап из текстового поля
			var bmd:BitmapData = new BitmapData(350,500);
			bmd.draw(TF);
			var bm:Bitmap = new Bitmap(bmd);
			addChild(bm);
			getChildAt(1).x = 360;
			getChildAt(1).y = 10;
		}
	}
}
Вот архив:
Вложения
Тип файла: rar Viewer1.rar (222.8 Кб, 465 просмотров)


Последний раз редактировалось Andrei666; 25.09.2008 в 15:41.
Создать новую тему Ответ Часовой пояс GMT +4, время: 04:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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