powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Предварительный просмотр уменьшенного изображения. Как?
10 сообщений из 10, страница 1 из 1
Предварительный просмотр уменьшенного изображения. Как?
    #40021312
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет,

есть нужда при перемещении по записям в гриде показывать связанные с ними изображения на диске (jpeg, png) (понятно с задержкой через таймер). Поскольку изображения могут быть большими то грузить их в TImage целиком медленно лучше грузить их уменьшенные копии. Как получить такую уменьшенную копию. Как вообще лучше подойти к этому вопросу?

Спасибо
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021322
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021330
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vampyre Imaging


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure ResizeImage(const ASource, ADest: String);
var
  Img: TImageData;
  AspectRatio: Single;
begin
  Imaging.InitImage(Img);
  try
    Imaging.LoadImageFromFile(ASource, Img);
    AspectRatio := Img.Width / Img.Height;
    Imaging.ResizeImage(Img, 100, Round(100 / aspectratio), rfNearest);
    Imaging.SaveImageToFile(ADest, Img);
  finally
    Imaging.FreeImage(img);
  end;
end;



Я событии TDataSet.onCalcFields показываю миниатюру, если ее нет создаю на лету. Файл сохраняется и в следующий раз уже создавать не нужно.
Нужно не забывать удалять, если объект удаляется.
Можно создать процедуру автоматический очистки миниатюр несуществующих объектов.
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021359
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hlopotunПоскольку изображения могут быть большими то грузить их в TImage целиком медленно лучше
грузить их уменьшенные копии. Как получить такую уменьшенную копию.

Сначала загрузить в TBitmap/TJpeg/TPng, а потом уменьшить.

Ну или гуглить на предмет API работы с thumbnails, что лично мне - лень.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021415
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ТЗ, судя по начальному посту - автор изначально хочет не грузить полномасштабные изображения, а хочет грузить уменьшенные копии. Поэтому надо хранить две копии изображения - полномасштабную и уменьшенную. Уменьшенные грузятся сразу, полномасштабные - после принудительного вызова.

Как сделать уменьшенную копию - вариантов много. Например на FMX это пара строк кода
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021418
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2Например на FMX это пара строк кода

Ага, первая строка загружает полномасштабное изображение, вторая - уменьшает его.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021437
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Сначала загрузить в TBitmap/TJpeg/TPng, а потом уменьшить.
Адски медленно для JPEG.

Dimitry Sibiryakov
Ну или гуглить на предмет API работы с thumbnails, что лично мне - лень.
GDI+ - GetThumbnailImage
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021526
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая либа Native JPEG, 100% Delphi Source.
среди прочего умеет:
Load Jpeg files at full scale, half scale, quarter scale or one-eight scale. If just a thumbnail is required, this option will speed up loading and decoding times considerably.
https://www.simdesign.nl/nativejpg.html
может быть подойдет. юзаю в продакшне, работает без нареканий
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021542
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще в джипегах превьюшки могут храниться как метаданные. Можно с этим поиграться
...
Рейтинг: 0 / 0
Предварительный просмотр уменьшенного изображения. Как?
    #40021566
Sapersky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, в этом компоненте есть работа со встроенными превьюшками:
https://github.com/cutec-chris/dexif
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Предварительный просмотр уменьшенного изображения. Как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]