![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Масштабирование изображений
nomshar © (2002-12-31 01:24:00)Господа, подскажите, пожалуйста, пример масштабирования изображения.
ZEE (2003-01-02 21:51:00) [1]> Rouse_ © (31.12.02 22:11) дальше - больше, в смысле че надо то и делаем (а масштабирование - этож задаем ширину и высоту - width и height)
Mirovodin (2003-01-02 13:22:00) [2]Смотри модуль Bitmap Resampler, там 4-5 различных вариаций
http://delphigfx.mastak.ru/libs.htm
a3m (2003-01-01 18:12:00) [3]Масштабировать можно путем непосредвенного копирования изображения, используя медот канвы CopyRect:
var
source, dest : TRect;
begin
// откуда копируем
source.Left := 0;
source.Top := 0;
source.Right :=image1.Width;
source.Bottom := image1.Height;
// куда копируем
dest.Left := 10;
dest.Top := 10;
dest.Right := 100;
dest.Bottom := 150;
// собственно копирование
canvas.CopyRect(dest, image1.Picture.BitMap.Canvas, source);
end;
p.s. пример работает только с BMP
Rouse_ (2002-12-31 22:11:00) [4]> ZEE © (31.12.02 13:48)А дальше как? :))
> nomshar © (31.12.02 01:24)
StretchBlt
Желаю успехов в новом году
Mihey (2002-12-31 21:52:00) [5]Обязательную функцию масштабирование содержат графические библиотеки, типа FastLib, причём масштабирование там идёт более качественное, так сказать, resample, а не resize, ведь есть множество различных фильтров.
ZEE (2002-12-31 13:48:00) [6]самый простой пример:
Image1.AutoSize:=false;
Image1.Stretch:=true;
Image1.Width:=...;
Image1.Height:=...;
//Image1 - содержит нужное изображение