Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Масштабирование изображения [D6, Win2k]


kirilllius ©   (2004-01-31 12:04:00) 

И вновь избитый вопрос!
Подскажите, как отмасштабировать большое изображение по экрану, с применением СГЛАЖИВАНИЯ. Те примеры, которые я нашел в Интернете, масштабируют изображение, но не качественно, после масштабирования видны зазубрины, квадратики.
А как сделать масштабирование, чтобы изображение смотрелось идеально четко?


kirilllius   (2004-02-02 12:07:00) [1]

Спасибо, теперь думаю подберу то, что мне нужно. :-)


Mantic0re   (2004-02-02 10:18:00) [2]

2 Mihey:

Все те библиотеки, которые ты указал дают ОТНОСИТЕЛЬНО быстрое масштабирование, однако его не достаточно (даже у ACD See - быстрее) для нормального программного продукта, например коммерческого - все же лучше использовать быстрые алгоритмы.

Я уже говорил - см. исходники Virtual Dub, если не хочешь сам оптимизировать на асме с ММХ и SSE инструкциями.


Mihey   (2004-01-31 23:16:00) [3]

FastLib
http://www.torry.net/vcl/graphics/packs/fastlib.zip

Graphic32
http://www.torry.net/vcl/graphics/packs/g32.zip

ImageEn:
http://www.hicomponents.com/

Значит, давай разберёмся. В былые годы я бы сразу сказал - Graphic32. Я только с ним и работаю. Он удобный, быстрый, очень логичный и понятный, лёгкий в освоении и с прекрасным хелпом. Он ОЧЕНЬ быстро делает маштабирование. Почему же я сомневаюсь? Я не сомневаюсь, но просто этот компонент являет собой как бы поле деятельности. Эта штука ориентирована не на просмотр изображений, а на разного рода работу с ними. Поэтому весь пакет работает с 32-bit битмапами (загруженное конвертит) и не может отображать изображения прозрачно, в том смысле, что компонент просмотра изображений имеет прямоугольную форму задаваемого цвета, а уже на этот цвет, естественно, может накладываться прозрачное изображение. Я не особо в курсе, но по моему это не только в Graphic32 так. Это делается для увеличения скорости. Мне лично ни разу не мешало - делать спрайты из TImage или TImage32 (в Graphic32) - это маразм.

FastLib более легковесна, наверное, более проста, но тоже быстра и без мерцания.

ImageEn - вот компонент просмотра изображений, например, в какой-нибудь смотрелке. Для простых целей - слишком тяжёл. Но увы, он платный (хотя не для всех это проблема).


kirilllius   (2004-01-31 20:57:00) [4]

>Mihey

Библиотека

BMP Resampling ( http://delphigfx.mastak.ru/lib/bmpresample.rar)

Работает, но с большими изображениями очень медленно, а есть что побыстрее?


kirilllius   (2004-01-31 17:52:00) [5]

Спасибо всем, все попробуем и поищем!


Mihey   (2004-01-31 17:47:00) [6]

> Те примеры, которые я нашел в Интернете

Плохие примеры видел. Для хорошего масштабирования (оно называется resampling, против некрасивого и искажающего resizing) используют разные библиотеки. Нет смысла писать самому, хотя алгоритмы известны (поэтому и нет смылса).

Библиотеки:

Полегче:
BMP Resampling ( http://delphigfx.mastak.ru/lib/bmpresample.rar)

Посложнее:
Graphic32, ImageN, Envision Graphic Library и вообще см. сайт Torry.


MBo   (2004-01-31 15:15:00) [7]

для уменьшения StretchBlt+StretchBltMode c Halftone


Наверх

Титульная страница Поиск, карта сайта Написать письмо