|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Параметры качества импортированного через скрипт изображения
Добрый день!
Меня интересует вопрос: как регулировать параметры сжатия и сглаживания у импортируемого через скрипт изображения? Например, когда я добавляю картинку в библиотеку, я могу настраивать параметры сжатия и сглаживания (jpeg - 65%, png - lossless итд). А вот при загрузке через скрипт вот таким кодом: как можно управлять качеством? |
|
|||||
Модрон-ветеринар
|
Сглаживание:
Только применять его надо после загрузки, а у вас это нельзя сделать, потому что вы используете loadMovie, а не MovieClipLoader. loadMovie не дает возможности отследить готовность. Напишите, какую практическую цель вы преследуете вашим вопросом.
__________________
Идите первым! |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
mooncar, кстати, нечто похожее на MovieClipLoader можно и с loadMovie сделать:
_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); };
__________________
hauts.ru |
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Мне в принципе не нужно сразу делать сглаживание.
Я на сцене перетаскиваю клипы, и часто после перетаскивания меняется их размер, немного непропорционально, поэтому появляются заострённые края. |
|
|||||
Модрон-ветеринар
|
Повторюсь - включить режим сглаживания можно с помощью свойства forceSmoothing, это помогает. Попробуйте применить это свойство к контейнеру, но уже после гарантированной загрузки в него изображения. Без использования MCL сами думайте когда у вас наступает такой момент. А сразу - не сразу, это не совсем верный контекст - для контейнера важно событие загрузки.
Тогда заостренных краев при перетаскивании быть не должно.
__________________
Идите первым! |
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Согласен, это помогает. Поставлю включение сглаживания после перетаскивания.
|
|
|||||
Регистрация: Feb 2012
Сообщений: 32
|
Спасибо тебе, добрый человек!) Так просто и эффективно! =)) Правда, оказывается, не всегда))
Последний раз редактировалось klaustrofobia; 23.04.2015 в 11:59. |
Часовой пояс GMT +4, время: 20:01. |
|
« Предыдущая тема | Следующая тема » |
|
|