Просмотр полной версии : Сглаживание изображений
MaskiShow
21.11.2009, 00:55
Во флешке есть картинки в мувике. Как их можно сглаживать при воспроизведении c зумом (когда увеличиваем размеры флешки) по аналогии с myvideo.smoothing = true?
Либо, если картинки загрузили извне, внутри onLoadInit
target_mc.forceSmoothing = true ;
либо, если аттачили, или просто картинки зашиты в мувики, то в библиотеке нужно поставить галочку на "Allow Smoothing" в свойствах картинки.
MaskiShow
21.11.2009, 17:23
Спасибо.
Mc.forceSmoothing работает даже если картики непосредственно находятся в мувике.
AlexStukoff
18.12.2009, 11:02
ну у кого работает а у кого и нет :)
К сожалению способа сглаживать картинку загруженную в программно(!) созданный MovieClip как-то нету :(
Исходник выложите с проблемой.
Всем привет!
Такая же фигня. Необходимо программно сгладить картинку, так как она загружается из вне, а не находится в библиотеке.
Вот что написал, но это не работает. Подскажите как надо.
mclListener.onLoadInit = function(img_mc:MovieClip) {
img_mc.forceSmoothing = true;
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip(imgLink, img_mc);
Ваш код должен работать, просто эффект от этого сглаживания проявляется в большей степени, когда после загрузки картинки происходит его масштабирование (уменьшение), и появляется дребезг, также особо заметный при движении.
Посмотрите вложенный пример и обратите внимание на изменения при следующих действиях:
1) Поотключайте-повключайте сглаживание в процессе движения картинки с помощью кнопки.
2) Уберите строку moveMc (img_mc); совсем, чтобы движения не происходило и также закомментируйте img_mc.forceSmoothing = true;, запустите ролик, посмотрите как будет без программного сглаживания. Раскомментируйте опять строку, и опять запустите чтобы увидеть разницу.
Особо заметен эффект на границах цветовых зон (см. границу окон у локомотива, сам монорельс) и мелких вертикальных линиях (ряды окон у небоскребов).
Причем визуально сглаживание сильно зависит от того, какая именно пропорция была при уменьшении масштаба, поскольку от этого зависит степень визуального пиксельного "дребезга".
В общем, это свойство работает только при определенных обстоятельствах.
Я им пользуюсь довольно часто, дабы скрыть иногда некие огрехи JPG-ов после перемасштабирования.
Если ж надо применить безусловное сглаживание, попробуйте после загрузки на мувик-контейнер программно наложить фильтр Blur с небольшими значениями размера блюра или его силы.
Спасибо за оперативный ответ!
Именно для масштабирования и использую эту функцию. Но первый вариант не работал.
Пришлось написать так:
onClipEvent (load) {
this.forceSmoothing = true;
}
К сожалению ваш пример не открылся, у меня тут Flash8 :)
О... отлично!
Посмотрел. Тоже как вариант подходит. Но всё же и итоге использовал forceSmoothing при onClipEvent (load)
Вот что из этого получилось:
http://miledy.lv
deselector
20.03.2010, 14:13
Пример для 8-ки.
Спасибо Mooncar, тоже пригодилось!http://lh6.ggpht.com/_RqHk8bkX2fA/S3qy1SSK_LI/AAAAAAAAABo/gvyqPddvZaM/1pxstyle.gif (http://www.yaren.ru)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.