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

Вниз

Подскажите платный компонент для отображения превьюшек   Найти похожие ветки 

 
leonidus   (2008-10-20 12:44) [0]

Ищу сабж, главное условие это скорость работы чтобы даже на слабеньких машинках со встроенной видеокартой все работало гладко, кто что посоветует?


 
Сергей М. ©   (2008-10-20 12:46) [1]

Кто такие "превьюшки" ?


 
leonidus   (2008-10-20 12:50) [2]

Превьюшки это уменьшенные копии изображений, в моем случае фотографий.


 
clickmaker ©   (2008-10-20 12:56) [3]

TImage ?


 
{RASkov} ©   (2008-10-20 12:57) [4]

нда... DrawGrid :)


 
Сергей М. ©   (2008-10-20 12:58) [5]

thumbnails они называются "по-правильному".

А в чем собссно проблема ?
Эксплорер тоже медленно показывает их в режиме "Эскизы" ?


 
leonidus   (2008-10-20 13:33) [6]

эксплорер в режиме эскизов работает вполне себе быстро, вот и нужен подобный компонент, юзаю listview но либо делаю что-то не так либо он сам по себе немного тормозит, потому и ищу платный аналог.


 
clickmaker ©   (2008-10-20 13:36) [7]

> юзаю listview но либо делаю что-то не так

а как делаешь?


 
Сергей М. ©   (2008-10-20 13:37) [8]


> делаю что-то не так


С этого и надо было начинать)


 
Dimka Maslov ©   (2008-10-20 13:52) [9]

Эксплорер, как известно, для ускорения работы в режиме "эскизы страниц", при первом обращении к папке создаёт скрытый файл thumbs.db в котором эти самые "превьюшки" и хранятся. При последующих обращениях иформация читается именно из этого файла, а при необходимости происходит её обновление.


 
leonidus   (2008-10-20 13:58) [10]

ListView со стилем vsIcon связан с ImageList в котором хранятся превьюшки, процесс создания которых происходит так:

procedure tform1.AddFile(FilePath: string; Caption: string);
var
TempBmp: TBitmap;
gdiGraphics: TGPGraphics;
Img, Thumb: TGPImage;
W, H: double;
begin
  TempBmp:=TBitmap.Create;
  TempBmp.Width:=120;
  TempBmp.Height:=120;

gdiGraphics:=TGPGraphics.Create();
Img:=TGPImage.Create();

Img:=Img.FromFile(FilePath);
Thumb:=Img.GetThumbnailImage(0, 0, nil, nil);
if(Img.GetWidth()>Img.GetHeight())then
  begin
    H:=TempBmp.Height;
    W:=(H/Img.GetHeight)*Img.GetWidth();
  end
else
  begin
    H:=TempBmp.Height;
    W:=(H/Img.GetHeight())*Img.GetWidth();
  end;
gdiGraphics:=gdiGraphics.FromHDC(TempBmp.Canvas.Handle);
gdiGraphics.DrawImage(Thumb, trunc(TempBmp.Width/2-W/2), 0, W, H);

form1.ImageList1.Add(TempBmp, nil);
form1.XPListView1.AddItem(Caption, nil);
form1.XPListView1.Items[form1.XPListView1.Items.Count-1].ImageIndex:=form1.ImageList1.Count-1;

Img.Free;
Thumb.Free;
gdiGraphics.Free;
TempBmp.Free;
end;

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


 
clickmaker ©   (2008-10-20 14:01) [11]

> не могу определить находится курсор над превьюшкой или над
> пустым полем

GetHitTestInfoAt() ?


 
Sapersky   (2008-10-20 15:44) [12]

http://club.telepolis.com/silverpointdev/velvex/index.htm


 
Eraser ©   (2008-10-20 16:47) [13]

> [10] leonidus   (20.10.08 13:58)

TListView позволяет при желании все отрисовывать вручную.


 
leonidus   (2008-10-20 17:59) [14]

Sapersky,  большое спасибо да вот только тем бесплатный компонент от платного и отличается что нужно скачать кучу всяких дистрибутивов с разных причем сайтов, с бубном попрыгать и может быть заработает, у меня к сожалению не заработало :)

Относительно отрисовки вручную, с удовольствием бы повозился с этим если бы было время, но для меня сейчас оптимальней купить готовый компонент.


 
Sapersky   (2008-10-20 19:26) [15]

Я, честно говоря, не пробовал его собирать...
Ну может VirtualShellTools соберутся:
http://www.mustangpeak.net/vstools.htm
Вряд ли все бесплатные компоненты поголовно нерабочие :)


 
GrayFace ©   (2008-10-20 23:41) [16]

А может все-таки {RASkov} ©   (20.10.08 12:57) [4]


 
Германн ©   (2008-10-21 01:22) [17]


> Sapersky   (20.10.08 19:26) [15


> GrayFace ©   (20.10.08 23:41) [16]

Автор сабжа ищет волшебную палочку. Как вы это не понимаете? Не читали в детстве "Незнайка в Солнечном городе"?


 
leonidus   (2008-10-21 15:35) [18]

Германн о какой палочке вы говорите, или вы не допускаете возможности существования такого компонента в природе?


 
brother ©   (2008-10-22 09:34) [19]

давно бы наняли прогера, он бы Вам все что захотите сделал...


 
Плохиш ©   (2008-10-22 10:30) [20]


> leonidus   (21.10.08 15:35) [18]
> вы не допускаете возможности существования такого компонента в природе?

Почему же, допускаем, только делфимастер не является поисковой системой.


 
pasha_golub ©   (2008-10-22 12:01) [21]

Из набора DevExpress можно попробовать. Гриды там так уж точно поддерживают все что жена пожелает... душа в смысле


 
Германнн   (2008-10-23 02:47) [22]


> Германн ©   (21.10.08 01:22) [17]
> Автор сабжа ищет волшебную палочку. Как вы это не понимаете?
>  Не читали в детстве "Незнайка в Солнечном городе"?


Дядя, ты дурак?


 
Германн ©   (2008-10-23 02:58) [23]

Провокаторов - на фиг!



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

Форум: "Прочее";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.038 c
3-1211821672
fics
2008-05-26 21:07
2008.12.21
SQL запрос


15-1224771691
Василий Жогарев
2008-10-23 18:21
2008.12.21
Проблемы с кодировкой двух баз...


2-1226482700
Сергей
2008-11-12 12:38
2008.12.21
Поле мемо заполняется только до середины.


2-1226599478
vegarulez
2008-11-13 21:04
2008.12.21
Подскажите как сделать картинку на канве TButton(VCL)


11-1193584312
Danger
2007-10-28 18:11
2008.12.21
Подправить MCKmdvPanel.pas





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