![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.07.2007
Сообщений: 76
|
![]()
Всем привет, у меня есть массив, содержащий пути к картинкам, мне нужно вывести на форму сразу все эти картинки в уменьшенном варианте, типа как превью!!! Подскажите, как это сделать...
Только начал изучать Delphi...
|
![]() |
![]() |
![]() |
#2 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Решение "в лоб" - кинуть на форму TScrollBox и понасоздовать в нём динамически TImage для каждой картинки. Памяти наверно скушает немеряно
![]() Или, если миниатюры не должны ни на что реагировать, достаточно будет одного TImage, куда они и будут выводится, например с помощью CopyRect М.б. также подойдёт TListView.
пыщь
Последний раз редактировалось JTG; 12.12.2007 в 17:44. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.07.2007
Сообщений: 76
|
![]()
А как динамически создавать? Примерчик можно пожалуйста!
Только начал изучать Delphi...
|
![]() |
![]() |
![]() |
#4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Как-то приблизительно так
Код:
Не, надо всё-таки придумать что-то пооптимальнее ![]()
пыщь
|
![]() |
![]() |
![]() |
#5 |
The First Person!
Форумчанин
Регистрация: 07.08.2007
Сообщений: 228
|
![]()
Короче обьясняю! Создаешь объект Panel. С помощью свойства Anchor настрой его так, чтобы он заполнял всю форму и изменялся вместе с ней(в размерах). Вот код, работать будем со свойством Paint.
procedure TWinForm31.Panel1_Paint(sender: System. Object; e: System.windows.Forms.PaintEventArgs ); const GRExts : String = 'bmp jpg gif png'; \\Поддерфиваемые форматы var Files : array of String; NewImg : Image; i : Integer; Ext : String; begin Files:= System.IO.Directory.GetFiles('ГДЕ ЛЕЖАТ КАРТИНКИ') For i := 0 to Length(Files) - 1 do begin Ext := Files[i].substring(Length (Files[i]) - 2; If GrExts.IndexOf (Ext) > 0 then begin NewImg := Image.FormFile (Files[i]) .GetThumbnailImage(100,100,nil,nil) ; e.Graphics.DrawImage (NewImg, Point.Create((i mod 5) *150,(i div 5) *120)); NewImg.Free; end; end; end; УДАЧИ!!!
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
|
![]() |
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Гениально!
И, заметьте, это вам с апломбом объясняет человек, который в соседнем посте спрашивает, как вывести на форму картинку по нажатию баттона... |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]() Цитата:
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вывод на экран | Nikolai_90 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 02.05.2012 09:25 |
сделать интерактивный тест чтоб по локальной сети его проходили сразу несколько человек | CheGuevera | БД в Delphi | 4 | 10.06.2008 19:21 |
Вывод на 2-ой экран | DShiller | Общие вопросы Delphi | 0 | 26.05.2008 15:25 |
Вывод картинок в уменьшеном виде | nikleb | PHP | 3 | 17.03.2008 00:20 |