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

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

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

Регистрация: Jul 2013
Сообщений: 2
Сделал так:
Были проблемы с классом JPEGEncoder. Нашёл рабочий JPEGEncoder http://www.bytearray.org/?p=775
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.net.FileReference;
	import flash.display.Loader;
	import flash.display.BitmapData;
	import flash.display.Bitmap;
	import flash.events.Event;
	import flash.net.FileFilter;
	import flash.events.MouseEvent;
	import flash.net.URLRequestMethod;
 
 
	public class Main extends MovieClip {
 
		private var filter:FileFilter = new FileFilter('Изображения: (*.jpg, *.jpeg, *.gif, *.png)','*.jpg;*.jpeg;*.gif;*.png');
 
		private var url:URLRequest = new URLRequest();
		private var urlLoader:URLLoader = new URLLoader();
		private var file:FileReference = new FileReference();;
		private var loader:Loader = new Loader();;
 
		public function Main() {
 
			browse_btn.addEventListener(MouseEvent.CLICK, browse);
		}
 
		public function browse(e)
		{
 
			file.addEventListener(Event.SELECT, select);			
			//file.addEventListener(IOErrorEvent.IO_ERROR, error);
			//file.addEventListener(ProgressEvent.PROGRESS, progress);
			//file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, response);
 
			file.browse([filter]);
		}
		// загрузить изображение во флэш
		public function select(e:Event):void
		{
			file.addEventListener(Event.COMPLETE, getLoader);
			try
			{
				file.load();
			}
			catch (e:Error)
			{
			}
		}
		// 
		public function getLoader(e:Event):void
		{
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, upload);
			loader.loadBytes(file.data);
		}
		//
		public function upload(e):void
		{
			var bmpData:BitmapData = imgResize(loader.content as Bitmap);
			var fileName:String = String(new Date().getTime());
			var jpg:JPEGEncoder = new JPEGEncoder();
			url.data = jpg.encode(bmpData);
			url.url = "http://мой_сайт/upload.php?name="+fileName+"&d="+new Date().getTime();		 
			url.method = URLRequestMethod.POST;
			url.contentType = 'application/octet-stream';
			urlLoader.load(url);
		}
		//
		public function imgResize(bit:Bitmap):BitmapData
		{
	         var w:Number = 800;
    var h:Number = 600;
    //var sourceBitmapData:BitmapData = new MyBitmapData();
 
    var sx:Number = w / bit.width;
    var sy:Number = h / bit.height;
    var bitmap:Bitmap = new Bitmap( new BitmapData( w, h ) );
        bitmap.bitmapData.draw( bit.bitmapData, new Matrix( sx, 0, 0, sy, 0, 0 ) );
 
	return bitmap.bitmapData;
 
		}
 
	}
}


Последний раз редактировалось sadrbox; 16.07.2013 в 13:40. Причина: НЕ ВЕРНЫЙ КОД
Создать новую тему   Часовой пояс GMT +4, время: 03:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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