Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2016, 21:11   #11
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
Фильтрами не масштабируют, а обрабатывают увеличенное изображение.
Там даже готовый пример дан (пост #39).
Из любопытства сама попробовала и полностью согласна с постом #40.
А вот что вам там "сложновато" - это для меня загадка...
Да пример я чего то сращу и не приметил. а на счет моего примера с библиотекой fastdib ? в принципе и так можно?
Illusiony вне форума Ответить с цитированием
Старый 20.04.2016, 23:18   #12
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

От FastDib еще в 2013-ом отказались - устарела технология...
kropotkina-alice вне форума Ответить с цитированием
Старый 21.04.2016, 18:55   #13
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Попробовал по примеру получилось.
Но я не особо могу разобраться какой из фильтров наиболее качественный:
Вроде бы Lanczos3Filter,
но я пробовал вроде все, некорые показывают решетку, остальные:
BellFilter
MitchellFilter
вроде бы хуже

По времени выполнения все 3 фильтра при примерно 5 раз масштабирование на каждом фильтре с одинаковым рисунком на моем компе давали около 32-80 мсек.
А на FastDib порядка 16-32 мсек ( при этом там происходит запись и считывание файла дополнительное) и качество сравнимое.

Скажите в чем FastDib уступает данным фильтрам?
И еще вопросик: если в масштабируемом рисунке присутствуют большие одноцветные прямоугольные области, то их желательно убрать( при этом размер картинки уменьшится) для увеличения быстроты или это не влияет на скорость?
Код:
procedure TForm1.btn1Click(Sender: TObject);
var
//  bmp,bmp_bez:TBItmap;
  Src,Dst:TBItmap;
  jpg_test_nRazpozn:TJPEGImage;
begin
  t := GetTickCount;// отсчет затрачиваемоговремени на все действие программы
Src:=TBItmap.Create;
Dst:=TBItmap.Create;
Src.LoadFromFile('jpg_test_nRazpozn0bmp.bmp');
Dst.Height:=204;
Dst.Width:=620;
 ResampleBitmap(Src, Dst,
		   //SplineFilter,
       MitchellFilter,
		   Dst.Width);
 //Dst.SaveToFile('Rsmpl.bmp');
 jpg_test_nRazpozn:= TJPEGImage.Create;
 jpg_test_nRazpozn.Assign(Dst);
 jpg_test_nRazpozn.CompressionQuality:=75;
jpg_test_nRazpozn.SaveToFile('MitchellFilter.jpg');
 Src.Free;
 Dst.Free;
 t1:=(GetTickCount -t);
 lbl1.Caption:=IntToStr(t1);
end;
По размерам получившихся изображений с 75% качеcтвом jpeg составили:
FastDib 28.7кб

Lanczos3Filter 28кб
BellFilter 24кб
MitchellFilter 26кб

Для моей задачи в большей степени нужно качественное и небольшое по размеру результирующее отмасштабированное разрешение и в меньшей степени скорость работы( хотя тоже важно).

Последний раз редактировалось Illusiony; 21.04.2016 в 19:09.
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание качественного GIF файла из видео.С поомощью какой программы? ололошенько Софт 4 28.02.2013 20:55
Есть Tscrollbox и на нем панельки с картинками.. нужно все скопировать в TBitmap vasiles Общие вопросы Delphi 0 10.07.2011 14:05
коэффициент масштабирования zolman Помощь студентам 0 13.04.2011 11:44
Алгоритм масштабирования Alex Cones Свободное общение 4 25.05.2010 16:02