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

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

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

Регистрация: May 2014
Сообщений: 3
Post Проблемы с добавлением на полотно

Ребят нужна помощь есть приложение рисовалка, после добавления картинки нужно что бы на ней можно было выполнять те же операции что и на полотне, а он ее просто добавляет как сделать что бы картинка оказалась полотном для рисования.
Код AS3:
private function addHandler(e:MouseEvent):void {
			_fileRef = new FileReference();
			_fileRef.addEventListener(Event.SELECT,onFileSelected);
			var imageTypeFilter:FileFilter = new FileFilter("Изображения (*.jpg, *.jpeg, *.png)","*.jpg;*.jpeg;*.png");
			_fileRef.browse([imageTypeFilter]); // открывает окно диалога
		}
 
		private function onFileSelected(e:Event):void {   // выбор файла
			_fileRef.addEventListener(Event.COMPLETE,onComplete); 
			_fileRef.load();
		}
		private function onComplete(e:Event):void{
			var imageData:ByteArray = _fileRef.data;  //  загруженная картинка
			loader = new Loader();
			loader.loadBytes(imageData);
 
			Add_btn.addEventListener(MouseEvent.MOUSE_UP, rz);
 
			///canvas.overlay = loader;
 
			canvas.addChildAt((loader),0);  // как тут присвоить ему параметры canvas ??
		}
		function rz(e:Event):void
		{
			loader.width = 840; // нужная ширина
			loader.height = 550; // нужная высота
			//Add_btn.enabled = false;
			if ( loader.scaleX < loader.scaleY ) 
			{loader.scaleY = loader.scaleX;
			loader.scaleX = loader.scaleY;}
			Add_btn.removeEventListener(MouseEvent.CLICK, onFileSelected);
		}

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Смотря как происходит у вас рисование.
Если полотно у вас векторное, то картинку надо положить под полотно. А если рисуете растром, то можно отрисовать картинку на полотне методом bitmapData#draw, либо скопировать пиксели bitmapData#copyPixels.

Старый 09.05.2014, 22:11
king13 вне форума Посмотреть профиль Отправить личное сообщение для king13 Найти все сообщения от king13
  № 3  
Ответить с цитированием
king13

Регистрация: May 2014
Сообщений: 3
Просто если положить картинку под полотно он рисует на ней, но сохраняет только параметры инструментов а картинку саму не сохраняет.
Код AS3:
private function saveHandler(e:MouseEvent):void {
 
			// получение рисунка как BitmapData из полотна
			var canvasBmp:BitmapData = canvas.drawing();
 
			// создаем новый объект JPG энкодера и конвертируем из BitmapData в JPG
			var pngEncoder:PNGEncoder = new PNGEncoder();
			var pngStream:ByteArray = PNGEncoder.encode(canvasBmp);
 
			// проверяем что мы избавились от BitmapData объекта
			canvasBmp.dispose();
 
			_fileRef = new FileReference();
			_fileRef.save(pngStream, "graffiti_example_image.png");
 
		}

Старый 09.05.2014, 22:20
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Так а в чем проблема положить и картинку и полотно в один контейнер и его врисовать в BitmapData?

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Ваше полотно, должно быть общим контейнером и для нарисованного и для добавленных картинок.

Старый 09.05.2014, 22:56
king13 вне форума Посмотреть профиль Отправить личное сообщение для king13 Найти все сообщения от king13
  № 6  
Ответить с цитированием
king13

Регистрация: May 2014
Сообщений: 3
Хорошо, а как тогда загруженный файл добавить в один контейнер с canvas?

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

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

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


 


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


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