Главная страница
    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.035 c
3-1102300486
Apophis
2004-12-06 05:34
2005.01.02
Определение кол-ва пользователей....


14-1101890769
Nik8.
2004-12-01 11:46
2005.01.02
Внутреннее устройство Windows 2000


14-1102704536
_UnderT_
2004-12-10 21:48
2005.01.02
Dial up server


1-1102971055
serko
2004-12-13 23:50
2005.01.02
Combobox и DateTimePecker


14-1103197373
Девушка
2004-12-16 14:42
2005.01.02
Максимальное количество адресатов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский