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

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

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

Регистрация: Oct 2006
Сообщений: 100
По умолчанию BitmapData Ресайз и Сглаживание

Здравствуйте,
проблема со сглаживанием битмап даты при ресайзе больших картинок...
Код AS3:
public function resize(btm:Bitmap, width:Number, height:Number):Bitmap
        {
            var size:Number = 1;
            var matrix:Matrix;
            var image:BitmapData;
 
            matrix = new Matrix();
            if (btm.width > width || btm.height > height)
            {
                size = Math.min(width / btm.width, height / btm.height);
                matrix.scale(size, size);
            }
 
			btm.smoothing = true;
            image = new BitmapData(btm.width * size, btm.height * size, true);
            image.draw(btm, matrix, null, null, null, true);
            return new Bitmap(image, PixelSnapping.AUTO, true);
}
Код AS3:
var img:Bitmap = imgConvertor.resize(source, 600,600)
вот что выходит

а вот так должно быть


почему так происходит?
есть вариант накладывать блюр фильтр... но он крайне не желателен!
буду рад любым советам
---------
поэкспериментировав со smoothing понял что он даже не применяется, вопрос, почему?


Последний раз редактировалось BARTLEBY; 12.02.2009 в 11:08.
Старый 12.02.2009, 15:34
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 2  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Цитата:
Сообщение от BARTLEBY Посмотреть сообщение
поэкспериментировав со smoothing понял что он даже не применяется, вопрос, почему?
Применяется.
Заресайзить картинку в Photoshop и применить smoothing во Flash - это не одно и то же.
__________________
Griver

Старый 12.02.2009, 17:30
BARTLEBY вне форума Посмотреть профиль Отправить личное сообщение для BARTLEBY Найти все сообщения от BARTLEBY
  № 3  
Ответить с цитированием
BARTLEBY
 
Аватар для BARTLEBY

Регистрация: Oct 2006
Сообщений: 100
Цитата:
Заресайзить картинку в Photoshop
причем тут фотошоп?
если я его отключаю, смотрю ни че не меняется абсолютно...
может вы тогда подскажете как отресайзить картинку? по существу...
---------
решил проблему блюрированием пока...
пока вариантов нет больше...

Старый 12.02.2009, 17:50
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
это смотря что ты отключаешь
отключи тут и увидишь..
image.draw(btm, matrix, null, null, null, false);

Старый 12.02.2009, 18:59
Stop Black PR! вне форума Посмотреть профиль Отправить личное сообщение для Stop Black PR! Посетить домашнюю страницу Stop Black PR! Найти все сообщения от Stop Black PR!
  № 5  
Ответить с цитированием
Stop Black PR!
 
Аватар для Stop Black PR!

Регистрация: Aug 2003
Адрес: Moscow
Сообщений: 113
Отправить сообщение для Stop Black PR! с помощью ICQ
поставь

btm.smoothing = true;

после создания новой битмапы
или по крайней мере проверь это свойство в дебагере в том месте, где эта битмапа выводится на экран, т.е. там у неё новая битмапДата

в моем случае сглаживание не срабатывало, когда была битмапа, у которой я заменял периодически битмап дату
а самой битмапе поставил smoothing = true; в самом начале
оказалось, что после загрузки новой даты это значение сбрасывалось в false


Последний раз редактировалось Stop Black PR!; 12.02.2009 в 19:19.
Старый 12.02.2009, 19:43
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 6  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
а я разницы на фото не вижу
__________________
на каком языке вы пишите?
а на каком нужно?

Старый 12.02.2009, 21:17
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 7  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Мип-маппинг может решить эту проблему, но нужно, чтобы стороны картинки были четных размеров, а еще лучше кратные степени двойки.

Старый 12.02.2009, 21:22
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 8  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
про сглаживание вобще то поиск рулит, я очень давно поднимал эту тему и нашел решение с ConvolutionFilter
__________________
на каком языке вы пишите?
а на каком нужно?

Старый 13.02.2009, 12:21
BARTLEBY вне форума Посмотреть профиль Отправить личное сообщение для BARTLEBY Найти все сообщения от BARTLEBY
  № 9  
Ответить с цитированием
BARTLEBY
 
Аватар для BARTLEBY

Регистрация: Oct 2006
Сообщений: 100
всем спасибо за ответы, ConvolutionFilter что-то в нем есть, поиграл с ним... такого результата как блюрирование он не дал...
если настроить блюрирование по коэффициенту... то все фотки получаются очень даже ни че...
да и блюр работает быстрее, что тоже не мало важно.
все таки пока остаюсь на блюре...

Старый 13.02.2009, 20:44
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 10  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
ну кому как, каждый сам себе кузнец ... у меня и ConvolutionFilter работал лучше блюра ,... а так как вызывался не часто то и вопроса скорости не стояло

да еще при draw, есть атрибут smooth, его можно тоже в true поставить, тоже картинка лучше станет
__________________
на каком языке вы пишите?
а на каком нужно?

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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