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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.11.2007, 15:50
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 1  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
По умолчанию allowSmoothing для подгружаемых битмапов?

Возможно ли как-то установить сглаживание для подгружаемых с помощью loadMovie JPG ? Или единственный способ подгрузить сглаженную картинку - загружать ее внутри СВФ, где для нее стоит сглаживание?
__________________
Платон мне друг, но истина в вине.

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

Регистрация: Apr 2007
Сообщений: 1,369
По-мойму эту наболевшую тему нужно выносить в верхний баннер.
Ответ: http://zaynutdinoff.livejournal.com/3331.html
На форуме тоже есть темы, вчера-позавчера были тоже.

Старый 29.11.2007, 16:24
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
sinya, а причём был FAQ?
__________________
Free-lance | Twitter | Me

Старый 17.04.2009, 17:35
the_tracker вне форума Посмотреть профиль Отправить личное сообщение для the_tracker Найти все сообщения от the_tracker
  № 4  
Ответить с цитированием
the_tracker

Регистрация: Nov 2008
Сообщений: 18
Ошибка
Этот журнал был окончательно уничтожен.

"по-мойму" эту тему можно откреплять :-)

Код AS1/AS2:
import flash.display.BitmapData;
class TestLoad extends MovieClip
{
	private var a_mc:MovieClip;
	private var b_mc:MovieClip;
 
	private var tmp_mc:MovieClip;
	private var img_bmp:BitmapData;
 
	private var _tmp_counter:Number = 1;
 
	private var IMG_WIDTH: Number = 210;
	private var IMG_HEIGHT: Number = 320;
 
	private var mcl:MovieClipLoader;
 
	public function TestLoad() 
	{
		a_mc = MovieClip(this["a_MC"]);
		b_mc = MovieClip(this["b_MC"]);
 
		tmp_mc = createEmptyMovieClip("tmp_MC", 1000);
		tmp_mc._x = -500;
		tmp_mc._y = -500;
		tmp_mc._visible = false;
		tmp_mc._alpha = 0;
 
		mcl = new MovieClipLoader();
		mcl.addListener(this);
 
		mcl.loadClip("1.jpg", tmp_mc);
	}
 
 
	private function onLoadInit(mc:MovieClip):Void {
		fillMc(a_mc, img_bmp);
	}
 
	private function fillMc(img_mc:MovieClip, bmp:BitmapData):Void
	{
		bmp = new BitmapData(IMG_WIDTH, IMG_HEIGHT);
		img_mc.attachBitmap(bmp, 5000, "never", true);
		trace(bmp);
		bmp.draw(tmp_mc);
		bmp = null;
		delete bmp;
 
 
	}
 
}
Добавлено через 12 минут
я правда не видел, что там было... может не то прислал?)))

Старый 17.04.2009, 18:06
ОльгаЮрьевна вне форума Посмотреть профиль Отправить личное сообщение для ОльгаЮрьевна Посетить домашнюю страницу ОльгаЮрьевна Найти все сообщения от ОльгаЮрьевна
  № 5  
Ответить с цитированием
ОльгаЮрьевна
 
Аватар для ОльгаЮрьевна

Регистрация: Mar 2008
Адрес: Санкт-Петербург
Сообщений: 171
Отправить сообщение для ОльгаЮрьевна с помощью ICQ
... как вариант:
Код AS1/AS2:
mc._quality = "BEST"; // Ставим самое лучшее качество картинки
mc.forceSmoothing = true; // Ставим сглаживание картинки

Старый 24.05.2010, 08:23
Seraf вне форума Посмотреть профиль Отправить личное сообщение для Seraf Найти все сообщения от Seraf
  № 6  
Ответить с цитированием
Seraf
[+1.3 02.08.06]
 
Аватар для Seraf

Регистрация: Aug 2006
Адрес: Ukraine Kyiv
Сообщений: 28
Отправить сообщение для Seraf с помощью ICQ
Цитата:
Сообщение от ОльгаЮрьевна Посмотреть сообщение
... как вариант:
Код AS1/AS2:
mc._quality = "BEST"; // Ставим самое лучшее качество картинки
mc.forceSmoothing = true; // Ставим сглаживание картинки
mc.forceSmoothing = true что-то не работает. В коде подгружается в фильм jpg, ресайзится, центруется. Пробовал эту строку вставлять и перед этими оперциями и после. Подскажите как корректно использовать эту функцию.
Вот код:
Код AS1/AS2:
clip2.maxWidth = 200;
clip2.maxHeight = 200;
 //
 clip2.loadImage = function(file)
 {
     this.image.removeMovieClip();
     this.createEmptyMovieClip("image", 0);
     this.image.loadMovie(file);
     this.onEnterFrame = function()
     {
         var l = this.image.getBytesLoaded();
         var t = this.image.getBytesTotal();
         if (t>0 && l>=t) {
             // загрузка закончилась
             delete this.onEnterFrame;
             this.resize();
         }
     };
 };
 //
 clip2.resize = function()
 {
     var ratio_x = this.maxWidth/this.image._width;
     var ratio_y = this.maxHeight/this.image._height;
     if (ratio_x<=ratio_y) {
         // выполняем, если нужно уменьшить, 
         // или увеличить+увеличение разрешено
         if (ratio_x<1 || this.allowEnlarge) {
             // ширина равна максимальной
             // а высота в соответствии с пропорцией
             this.image._width = this.maxWidth;
             this.image._yscale = this.image._xscale;
         }
     } else {
         // выполняем, если нужно уменьшить, 
         // или увеличить+увеличение разрешено
         if (ratio_y<1 || this.allowEnlarge) {
             // высота равна максимальной
             // а ширина в соответствии с пропорцией
             this.image._height = this.maxHeight;
             this.image._xscale = this.image._yscale;
         }
     }
     // центровка
     this.image._x = Math.round((this.maxWidth-this.image._width)/2);
     this.image._y = Math.round((this.maxHeight-this.image._height)/2);
 
 };
 
clip2.loadImage("2.jpg");


Последний раз редактировалось Seraf; 24.05.2010 в 08:37.
Старый 24.05.2010, 10:35
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Поставьте в resize()
Код AS1/AS2:
this.forceSmoothing = true;
в любое место, например, в самом конце, после центровки.
Я часто использую это свойство, и все нормально работает.
И кстати, лучше используйте MCL вместо loadMovie.

Старый 24.05.2010, 16:39
Seraf вне форума Посмотреть профиль Отправить личное сообщение для Seraf Найти все сообщения от Seraf
  № 8  
Ответить с цитированием
Seraf
[+1.3 02.08.06]
 
Аватар для Seraf

Регистрация: Aug 2006
Адрес: Ukraine Kyiv
Сообщений: 28
Отправить сообщение для Seraf с помощью ICQ
Цитата:
Сообщение от mooncar Посмотреть сообщение
Поставьте в resize()
Код AS1/AS2:
this.forceSmoothing = true;
в любое место, например, в самом конце, после центровки.
Я часто использую это свойство, и все нормально работает.
И кстати, лучше используйте MCL вместо loadMovie.
Попробовал поставить строку после центровки. Не работает. Проверил анимацей растягивания после подгрузки - всё в лесенках.
Вложения
Тип файла: rar att.rar (485.8 Кб, 192 просмотров)


Последний раз редактировалось Seraf; 24.05.2010 в 16:54.
Старый 24.05.2010, 20:47
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Смотрите вложение.

Используйте MCL, я же писал об этом.

Вместо loadVariables используйте класс LoadVars, и тогда у вас будет меньше поводов в ближайшее время обращаться за помощью сюда.

Не разносите код по разным слоям.

PS. Думаю, что большего сглаживания добиться трудно. А если все же хотите, чтобы выглядело лучше, возьмите размеры, до которых у вас увеличится картинка при максимальном ее развертывании, и пересохраните с этими размерами.
Сейчас у вас 2.jpg неоправданно большая. Лучшего сглаживания, чем сделал я с помощью forceSmoothing, вряд ли можно будет добиться в силу указанной причины.

PPS. Переход к анимации тоже нужно сделать только после окончания процесса загрузки.
То есть написать в ключевом кадре, где стартует загрузка stop(), а продолжить движение - play() - внутри обработчика onLoadInit. Иначе у вас анимация стартует раньше, чем закончится процесс загрузки. Локально прокатит, на сайте могут быть косяки. Конечно, вы ввели дополнительные кадры между началом анимации и кадром, где стартует загрузка, но это плохое решение, если рассчитано только под ожидание загрузки. Даже если это сюжетная пауза, все равно нужно сделать так - stop() в этом кадре и play() внутри onLoadInit, в самом конце, после forceSmoothing.

В общем, уменьшайте размер картинки, если это возможно.

UPD. Ради пробы уменьшил размер 2.jpg до 500px по ширине, и сразу, несмотря на то, что при увеличении до 400 процентов, как у вас в конце анимации, появляется некая размазанность, все равно выглядит лучше, по крайней мере, сама анимация.
Вложения
Тип файла: rar att2.rar (484.2 Кб, 256 просмотров)


Последний раз редактировалось mooncar; 24.05.2010 в 21:00.
Старый 24.05.2010, 21:42
Seraf вне форума Посмотреть профиль Отправить личное сообщение для Seraf Найти все сообщения от Seraf
  № 10  
Ответить с цитированием
Seraf
[+1.3 02.08.06]
 
Аватар для Seraf

Регистрация: Aug 2006
Адрес: Ukraine Kyiv
Сообщений: 28
Отправить сообщение для Seraf с помощью ICQ
2 mooncar
Весьма признателен за советы. 1-й раз таки решился сделать сам подгрузку файлов (коды, конечно писал не я и в Вашем на 1-й взляд пока много чего непонятно) и текстов т.к. нужно чтобы в последствии заказчик сам заменял фотографии товаров и цен. Там я не могу предугадать насколько большие у них будут исходники ну и врядли они захотят учиться ресайзить фото потому намеренно взял большие.


Да в Вашем примере сглаживание в порядке. Имеено так, как если внедрить jpg и включить в его свойствах allow smothing чего я и добивался.
Выходит используя loadMovie сглаживания добиться нельзя? forceSmoothing работает только с MCL? Cлышал ещё про мороку с переводом в bitmap. Это сработает в loadMovie?


Последний раз редактировалось Seraf; 26.05.2010 в 05:02.
Создать новую тему Ответ Часовой пояс GMT +4, время: 13:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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