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

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

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

Регистрация: Sep 2003
Адрес: St.Petersburg
Сообщений: 27
Отправить сообщение для Zhit-Ton с помощью ICQ
stage.quality = "best" - выставляется при инициализации приложения:
addEventListener(Event.ADDED_TO_STAGE, init)

такое чувство что через браузер не срабатывает эта вещь.. Debug плеер ошибок не выдает никаких..

Работает так:
Человек выбрал изображение - оно если нужно сразу ресайзится. Потом когда человек нажимает отправить - изображение отправляется.

Я заметил что если изображение не ресайзится - то оно приходит в таком же качестве как оригинал (в отличном)

Значит проблема в функции ресайзинга.., если не сложно натолкните на мысль..:

Код AS1/AS2:
		private function _onImagePrepare ( evt : Event ) : void{
 			var jpgEncoder:JPGEncoder = new JPGEncoder(100);
			var bitMap = Bitmap(evt.target.content);
			bitMap.smoothing = true;
			var bitmapData:BitmapData = bitMap.bitmapData;
			var coefW		:Number = _MAX_WIDTH / bitmapData.width;			
			var coefH		:Number = _MAX_HEIGHT / bitmapData.height;
			var multiplier	:Number;	
 
			if (coefW > coefH)	
				{ multiplier = coefH; }  // если фотка горизонтальная
			else
				{ multiplier = coefW; }	// если вертикальная или квдарат)
 
			var mtrx:Matrix = new Matrix();
			mtrx.createBox(multiplier, multiplier, 0, 0, 0);
 
 
			var bmd:BitmapData=new BitmapData(multiplier * bitmapData.width, multiplier * bitmapData.height,  true, 0xFFFFFF);
 
			bmd.draw(bitmapData, mtrx, null, null, null, true);
			picture = jpgEncoder.encode(bmd);
		}
Добавлено через 22 часа 14 минут
Я нашел проблему - почему то smoothig во флеше отрабатывает - а через браузер нет - почему это может быть?



я нашел проблему..

не хочу быть похожим на остальных - и напишу в чем дело - может кому в будущем поможет

итак - уменьшение коряво работает в браузерах потому что я уменьшал большую картинку (1400 на 1200) до 80 на 65 - и уменьшал сразу..

так вот уменьшайте изображения с помощью матрицы где коеффициент не менее 0.5 (чем выше коефициент тем меньше потеря качества) - то есть уменьшайте в несколько этапов..

ну вот и всё


Последний раз редактировалось udaaff; 15.01.2011 в 19:05.
Создать новую тему   Часовой пояс GMT +4, время: 21:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
ресайз изображения

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

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


 


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


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