Главная страница
    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.045 c
4-1202422124
Master_Of_Puppets
2008-02-08 01:08
2008.12.21
TreeView в чужом приложении


2-1226648255
asddsa
2008-11-14 10:37
2008.12.21
Потоки в классах


2-1226679594
smartleds
2008-11-14 19:19
2008.12.21
Подскажите плз как процедуру зоздания формы вызвать вручную


2-1226488773
Andrey_ka
2008-11-12 14:19
2008.12.21
манцпуляции с памятью


3-1211821672
fics
2008-05-26 21:07
2008.12.21
SQL запрос





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