Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

Как создавать thumbnails для больших изображений?   Найти похожие ветки 

 
idiliya   (2004-12-19 13:14) [0]

Каким образом, к примеру, в Explorer, IView, ACDs и т.д. создают thumbnail каталога с изображениями?
Необходимо в Delphi, когда имеем исходные картинки в TPicture сделать последоательность thumbnail. Пробовалось как средствами Delphi так и API (получив HBITMAP), но по любому масштабирование получается очень медленно.
В основном исходные изображения размером от и более 2000x1600x24bit - jpeg.


 
AlterEgo of WondeRu ©   (2004-12-19 13:31) [1]

а StretchBlt пробовал?


 
idiliya   (2004-12-19 17:05) [2]

да, скорость та же
в том то и проблема


 
Думкин ©   (2004-12-19 18:57) [3]

> [2] idiliya   (19.12.04 17:05)

Если jpeg, то поработай вначале с параметрами загрузки - 1/8 размера, скорость превыше качества. А потом как указано в [1].


 
AlterEgo of WondeRu ©   (2004-12-19 19:11) [4]

Думкин ©   (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 19:16) [5]

>  [4] AlterEgo of WondeRu ©   (19.12.04 19:11)

То же, так тоже. Для картинок и программ сабжа - вряд ли иное наблюдается.


 
Думкин ©   (2004-12-19 19:19) [6]

> [4] AlterEgo of WondeRu ©   (19.12.04 19:11)

Я когда каталоги делал с превьюшками и т.п. и т.д с постоянным хранением на диске - делал все заранее. Картинки хранилось 2 - большая и маленькая. Так лучше.
А с ходу чтобы быстро - это библиотеки для работы с Jpeg специальные теребить надо. Видимо так.


 
AlterEgo of WondeRu ©   (2004-12-19 19:21) [7]

Думкин ©   (19.12.04 19:16) [5]
ACDSee 3.0 ооочень бысто открывает JPEGи, как?


 
AlterEgo of WondeRu ©   (2004-12-19 19:22) [8]

Думкин ©   (19.12.04 19:19) [6]
Картинки хранилось 2 - большая и маленькая.

эт то понятно, ХР так делает


 
Думкин ©   (2004-12-19 19:26) [9]

> [7] AlterEgo of WondeRu ©   (19.12.04 19:21)

Такие большие как в сабже? Честно скажу - не сравнивал, нужды не было. Можно будет посмотреть. Но библиотеки есть - МВо я думаю, привет ссылки если ветку увидит.


 
Просто Джо ©   (2004-12-19 20:00) [10]

В принципе, если расчитывать только на запуск под XP, можно использовать GDI+. Там есть специальный метод TGPImage.GetThumbnailImage. Грузится и рисуется довольно быстро (гораздно быстрее, чем при использовании TImage). Заголовочные файлы для Делфи можно взять например на http://clootie.narod.ru/delphi/.

Кстати, можно использовать и под 9x/NT. Майкрософтовская библиотека gdiplus.dll, по поему, редистрибутируемая, во всяком случае, скачивание с их сайта свободное.


 
Просто Джо ©   (2004-12-19 20:02) [11]

П.С.
Я ее использую для вывода изображений 5880x5880 пикселей с разрешением 300 dpi (50x50 см). TImage и стандартная канва битмапа загибается, а с gdiplus -- летает. И Thumbnails.


 
idiliya   (2004-12-19 20:08) [12]

1. под XP были найдены и быстрые COM объекты для этого ...
2. поскольку занимались и DX DShow .. то и оттуда можно побыстрее сделать ... но нельзя

требуется от 98 ... и далее
слава богу что не от 95 (там ещё сообщения Hover нужны)


 
AlterEgo of WondeRu ©   (2004-12-20 01:08) [13]

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


 
DNech ©   (2004-12-20 05:57) [14]

Делал свой фотоальбом, пользовался GDI+ работает и на 98 надо только с программой носить эту ДЛЛ, работает быстро, но лучше хранить два изображения.


 
idiliya   (2004-12-20 11:12) [15]

Спасибо!

с GDI+ начало потихоньку получаться


 
WondeRu ©   (2004-12-20 11:25) [16]

idiliya   (20.12.04 11:12) [15]
с GDI+ начало потихоньку получаться

так бысто или потихоньку?) просто сам щас выкачал загловочные файлы для гди+, тож хочу свой фотоальбом переделать под него!



Страницы: 1 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.048 c
1-1103265109
mixamixamixamixa
2004-12-17 09:31
2005.01.02
Сортировка


3-1101984650
Ega23
2004-12-02 13:50
2005.01.02
Средства разработки


14-1103011442
Gero
2004-12-14 11:04
2005.01.02
Аудио кассеты


1-1103149768
den1s
2004-12-16 01:29
2005.01.02
добавление компанентов


14-1102680374
Agent13
2004-12-10 15:06
2005.01.02
Windows XP