Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Вниз

Как создавать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.055 c
14-1102582579
Кудесник
2004-12-09 11:56
2005.01.02
Может кто перевести страницу текста на нормальный английский?


1-1103523557
Zloy
2004-12-20 09:19
2005.01.02
фокус ячейки в StringGrid


1-1103181468
Black_Fury
2004-12-16 10:17
2005.01.02
Почему может не работать функция FileCreate( );


4-1100754989
e-a-r-l
2004-11-18 08:16
2005.01.02
Запуск "скрытого" приложения


14-1103112294
Dmitriy O.
2004-12-15 15:04
2005.01.02
Compact using !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский