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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.02 c
2-1226519181
IVAKA_27
2008-11-12 22:46
2008.12.21
TreeNode


2-1226463290
Maks_
2008-11-12 07:14
2008.12.21
Форматирование текста в поле МЕМО


15-1224123146
Slider007
2008-10-16 06:12
2008.12.21
С днем рождения ! 16 октября 2008 четверг


4-1202586871
AntiDot
2008-02-09 22:54
2008.12.21
контрол, для отображения карты диска


15-1224036802
Slider007
2008-10-15 06:13
2008.12.21
С днем рождения ! 15 октября 2008 среда