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

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

Вывод несколько картинок на форму в миниатюре


Alexanders ©   (2003-02-18 10:01:00) 

1. Уважаемые знатоки. Как (или с помощью каких компонентов) можно вывести несколько рисунков в миниатюре (как выводит PowerPoint - сортировщик слайдов). Дело в том, что рисунки выводятся из каталога и заранее их количество не известно. В Delphi такой компонент имеется только для работы с БД (DBCtrlGrid). Конечно можно использовать и этот компонент, однако как-то это не логично и не быстро.
Смотрел на Torry - не нашел.
Заранее благодарю.


Шест   (2003-03-05 13:56:00) [1]

Можно использовать ListView c кодом:
for i := 0 to OpenPictureDialog1.Files.Count-1 do
begin
BitMapDest:=TBitmap.Create;
JpegImages:= TJPEGImage.Create;
JpegImages.LoadFromFile(OpenPictureDialog1.Files[i]);
BitMapDest.Width:=EditP.SpinEdit1.Value;//Image1.Picture.Width;
BitMapDest.Height:=Round(EditP.SpinEdit1.Value/EditP.SpinEdit3.Value*EditP.SpinEdit4.Value);
BitMapDest.Canvas.StretchDraw(RECT(1,1,BitMapDest.Width-1,BitMapDest.Height-1),JpegImages);
ImageList2.Width:=BitMapDest.Width;
ImageList2.Height:=BitMapDest.Height;
ImageList2.Add(BitMapDest,nil);
ListView1.Items.Add;
ListView1.Items.Item[i].Caption:=ChangeFileExt(ExtractFileName(OpenPictureDialog1.Files[i]),"");
ListView1.Items.Item[i].ImageIndex:=i;
JpegImages.Free;
BitMapDest.Free;
end;
end


Mihey   (2003-02-18 21:38:00) [2]

Ну раз компонента нет, то придётся работать ручками. Используя функции FindFirst, FindNext и FindClose ищешь файл, грузишь его как-нить по-быстрому, обрабатываешь и выводишь.


MBo   (2003-02-18 10:02:00) [3]

canvas.stretchdraw
timage со stretch
StretchBlt


Наверх

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