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

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

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

Регистрация: Sep 2010
Сообщений: 167
По умолчанию Параметры качества импортированного через скрипт изображения

Добрый день!

Меня интересует вопрос: как регулировать параметры сжатия и сглаживания у импортируемого через скрипт изображения? Например, когда я добавляю картинку в библиотеку, я могу настраивать параметры сжатия и сглаживания (jpeg - 65%, png - lossless итд). А вот при загрузке через скрипт вот таким кодом:

Код AS1/AS2:
mc.preview.loadMovie(iconPath);
как можно управлять качеством?

Старый 30.05.2012, 17:28
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Сглаживание:
Код AS1/AS2:
mc.preview.forceSmoothing = true ;
Только применять его надо после загрузки, а у вас это нельзя сделать, потому что вы используете loadMovie, а не MovieClipLoader.
loadMovie не дает возможности отследить готовность.

Напишите, какую практическую цель вы преследуете вашим вопросом.
__________________
Идите первым!

Старый 30.05.2012, 18:56
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 3  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
mooncar, кстати, нечто похожее на MovieClipLoader можно и с loadMovie сделать:

Код AS1/AS2:
_global.extendedLoadMovie = function() {
	var p = _global.extendedLoadMovie.prototype;
	if (!p.inited) {
		p.loadsCounter = 0;
		p.listeners = [];
		var d = _root.getNextHighestDepth();
		this.capturer = _root.createEmptyMovieClip("____onEnterFrameCapturer" + new Date().getTime(), d);
		this.capturer.onEnterFrame = function() {
			var l = p.loads;
			if (l.length) {
				for (var i in l) {
					var curLoad = l[i];
					var mc = curLoad.mc;
					var listener = p.listeners[curLoad.id];
					var self = curLoad.self;
					if (listener) {
						var lb = mc.getBytesLoaded();
						var tb = mc.getBytesTotal();
						if (isNaN(lb / tb)) {
							self.calledOnLoadStart = false;
							self.loadInitCalled = false;
						} else {
							if (!self.calledOnLoadStart) {
								self.calledOnLoadStart = true;
								listener.onLoadStart(mc);
							}
							listener.onLoadProgress(mc,lb,tb);
							if (lb == tb && !self.loadInitCalled) {
								self.loadInitCalled = true;
								listener.onLoadInit(mc);
							} else {
								listener.onLoadComplete(mc);
								l.splice(self.loadId,1);
							}
						}
					}
				}
			}
		};
		p.inited = true;
		p.loads = [];
		p.loadClip = function(src, loadTo) {
			this.calledOnLoadStart = false;
			this.loadInitCalled = false;
			loadTo.loadMovie(src);
			p.loads.push({mc:loadTo, id:this.loadId, self:this});
 
		};
		p.addEventListener = function(listener) {
			p.listeners[this.loadId] = listener;
		};
	}
	this.loadId = p.loadsCounter;
	p.loadsCounter++;
};
 
 
 
var loaderClip = this.createEmptyMovieClip("loaderClip", 1);
var loader = new extendedLoadMovie();
var loaderListener = {};
loaderListener.onLoadStart = function(target) {
	trace(target + " loads started");
};
loaderListener.onLoadProgress = function(target, loadedBytes, totalBytes) {
	trace(target + " load progress: " + loadedBytes + "/" + totalBytes);
};
loaderListener.onLoadInit = function(target) {
	trace(target + " load init");
};
loaderListener.onLoadComplete = function(target) {
	trace(target + " load complete\n\n\n");
};
loader.addEventListener(loaderListener);
loader.loadClip("http://tankionline.com/ru/wp-content/themes/tanki_new/images/bg-main-summer-new.jpg",loaderClip);
 
this.onMouseDown = function() {
	loader.loadClip("http://www.flasher.ru/forum/image.php?u=62719&dateline=1327096384",loaderClip);
};
Но это, конечно же, извращение. Но работает в 6-ой версии плеера
__________________
hauts.ru

Старый 30.05.2012, 19:34
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 4  
Ответить с цитированием
Alex626

Регистрация: Sep 2010
Сообщений: 167
Мне в принципе не нужно сразу делать сглаживание.

Я на сцене перетаскиваю клипы, и часто после перетаскивания меняется их размер, немного непропорционально, поэтому появляются заострённые края.

Старый 30.05.2012, 19:38
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 5  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Поставьте _quality = "best" где-нибудь в начале ролика, в коде.
__________________
hauts.ru

Старый 30.05.2012, 19:44
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Повторюсь - включить режим сглаживания можно с помощью свойства forceSmoothing, это помогает. Попробуйте применить это свойство к контейнеру, но уже после гарантированной загрузки в него изображения. Без использования MCL сами думайте когда у вас наступает такой момент. А сразу - не сразу, это не совсем верный контекст - для контейнера важно событие загрузки.
Тогда заостренных краев при перетаскивании быть не должно.
__________________
Идите первым!

Старый 30.05.2012, 19:47
Alex626 вне форума Посмотреть профиль Отправить личное сообщение для Alex626 Найти все сообщения от Alex626
  № 7  
Ответить с цитированием
Alex626

Регистрация: Sep 2010
Сообщений: 167
Согласен, это помогает. Поставлю включение сглаживания после перетаскивания.

Старый 16.04.2015, 13:27
klaustrofobia вне форума Посмотреть профиль Отправить личное сообщение для klaustrofobia Найти все сообщения от klaustrofobia
  № 8  
Ответить с цитированием
klaustrofobia

Регистрация: Feb 2012
Сообщений: 32
Цитата:
Сообщение от Hauts Посмотреть сообщение
Поставьте _quality = "best" где-нибудь в начале ролика, в коде.
Спасибо тебе, добрый человек!) Так просто и эффективно! =)) Правда, оказывается, не всегда))


Последний раз редактировалось klaustrofobia; 23.04.2015 в 11:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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