![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создавать thumbnails для больших изображений? [D5, Win95/98, WinME, WinXP]
idiliya © (2004-12-19 13:14:00)Каким образом, к примеру, в Explorer, IView, ACDs и т.д. создают thumbnail каталога с изображениями?
Необходимо в Delphi, когда имеем исходные картинки в TPicture сделать последоательность thumbnail. Пробовалось как средствами Delphi так и API (получив HBITMAP), но по любому масштабирование получается очень медленно.
В основном исходные изображения размером от и более 2000x1600x24bit - jpeg.
WondeRu (2004-12-20 11:25:00) [1]idiliya (20.12.04 11:12) [15]
с GDI+ начало потихоньку получаться
так бысто или потихоньку?) просто сам щас выкачал загловочные файлы для гди+, тож хочу свой фотоальбом переделать под него!
idiliya (2004-12-20 11:12:00) [2]Спасибо!
с GDI+ начало потихоньку получаться
DNech (2004-12-20 05:57:00) [3]Делал свой фотоальбом, пользовался GDI+ работает и на 98 надо только с программой носить эту ДЛЛ, работает быстро, но лучше хранить два изображения.
AlterEgo of WondeRu (2004-12-20 01:08:00) [4]
procedure TForm1.FormCreate(Sender: TObject);
begin
if Image1.Picture.Graphic is TJPEGImage then
begin
TJPEGImage(Image1.Picture.Graphic).DIBNeeded;
end;
end;
Данный код заставляет явно и сразу декодировать jpeg, вместо того, чтобы делать это при отображении картинки
delphiworld.narod.ru
idiliya (2004-12-19 20:08:00) [5]1. под XP были найдены и быстрые COM объекты для этого ...
2. поскольку занимались и DX DShow .. то и оттуда можно побыстрее сделать ... но нельзя
требуется от 98 ... и далее
слава богу что не от 95 (там ещё сообщения Hover нужны)
Просто Джо (2004-12-19 20:02:00) [6]П.С.
Я ее использую для вывода изображений 5880x5880 пикселей с разрешением 300 dpi (50x50 см). TImage и стандартная канва битмапа загибается, а с gdiplus -- летает. И Thumbnails.
Просто Джо (2004-12-19 20:00:00) [7]В принципе, если расчитывать только на запуск под XP, можно использовать GDI+. Там есть специальный метод
TGPImage.GetThumbnailImage. Грузится и рисуется довольно быстро (гораздно быстрее, чем при использовании TImage). Заголовочные файлы для Делфи можно взять например на http://clootie.narod.ru/delphi/.
Кстати, можно использовать и под 9x/NT. Майкрософтовская библиотека gdiplus.dll, по поему, редистрибутируемая, во всяком случае, скачивание с их сайта свободное.
Думкин (2004-12-19 19:26:00) [8]> [7] AlterEgo of WondeRu © (19.12.04 19:21)
Такие большие как в сабже? Честно скажу - не сравнивал, нужды не было. Можно будет посмотреть. Но библиотеки есть - МВо я думаю, привет ссылки если ветку увидит.
AlterEgo of WondeRu (2004-12-19 19:22:00) [9]Думкин © (19.12.04 19:19) [6]
Картинки хранилось 2 - большая и маленькая.
эт то понятно, ХР так делает
AlterEgo of WondeRu (2004-12-19 19:21:00) [10]Думкин © (19.12.04 19:16) [5]
ACDSee 3.0 ооочень бысто открывает JPEGи, как?
Думкин (2004-12-19 19:19:00) [11]> [4] AlterEgo of WondeRu © (19.12.04 19:11)
Я когда каталоги делал с превьюшками и т.п. и т.д с постоянным хранением на диске - делал все заранее. Картинки хранилось 2 - большая и маленькая. Так лучше.
А с ходу чтобы быстро - это библиотеки для работы с Jpeg специальные теребить надо. Видимо так.
Думкин (2004-12-19 19:16:00) [12]> [4] AlterEgo of WondeRu © (19.12.04 19:11)
То же, так тоже. Для картинок и программ сабжа - вряд ли иное наблюдается.
AlterEgo of WondeRu (2004-12-19 19:11:00) [13]Думкин © (19.12.04 18:57) [3]
я вас правильно понял?
procedure TForm1.Button1Click(Sender: TObject);
var
a: TJPEGImage;
begin
if OpenDialog1.Execute then
begin
a := TJPEGImage.Create;
try
a.Scale := jsEighth;
a.Performance := jpBestSpeed;
a.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Assign(a); //можно заменить на StretchBlt
finally
a.Free;
end;
end;
end;
по субъективным ощущениям все то же :(
Думкин (2004-12-19 18:57:00) [14]> [2] idiliya (19.12.04 17:05)
Если jpeg, то поработай вначале с параметрами загрузки - 1/8 размера, скорость превыше качества. А потом как указано в [1].
idiliya (2004-12-19 17:05:00) [15]да, скорость та же
в том то и проблема
AlterEgo of WondeRu (2004-12-19 13:31:00) [16]а StretchBlt пробовал?