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

Вниз

Как загрузить иконку нужного формата?   Найти похожие ветки 

 
DenisArd   (2008-12-14 23:49) [0]

Как из файла .ico, содержащего иконки нескольких форматов,  загрузить иконку заданного размера и глубины цвета? Например 32-битную 48*48? С размером вроде понятно более-менее понятно, перед загрузкой задать свойство Size объекта типа TIcon и будет загружена наиболее близкая по размеру, а как быть с цветностью?


 
andreil   (2008-12-23 12:03) [1]

Для этого лично я немного изменил файл KOL.pas, дописав там функции TIcon.LoadFromFIleEx и TIcon.LoadFromStreamEx, в которых и осуществлялась загрузка требуемой иконки. Завтра смогу дать готовый кусок файла.


 
andreil   (2008-12-23 12:06) [2]

Далешь следующее:
procedure TIcon.LoadFromStream(Strm: PStream; W, H, bits: integer);
......
      for I := 1 to IH.idCount do
      begin
         if Strm.Read( IDI, Sizeof( IDI ) ) <> Sizeof( IDI ) then Exit;
         Inc( SumSz, IDI.dwBytesInRes + Sizeof( IDI ) );
         D := IDI.bWidth - DesiredSize;
         if D < 0 then D := -D;
{}
         if (IDI.bWidth=W) and (IDI.bHeidht=H) and (IDI.bBitCount=bits) then
           break;
{]
         if D < FoundSz then
         begin
            FoundSz := D;
            FoundIDI := IDI;
         end;
      end;

......

И все будет ОК ;)



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

Текущий архив: 2011.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
6-1233829100
n00b T_T
2009-02-05 13:18
2011.02.06
IdMappedPortUDP: считать месагу вручную =)


4-1244878777
Vampire Kain
2009-06-13 11:39
2011.02.06
Как получить координаты чужого окна?


15-1288009676
Alx2
2010-10-25 16:27
2011.02.06
Перепись. Последний день.


2-1289775258
Германн
2010-11-15 01:54
2011.02.06
Реальное значение NULL в СУБД


15-1287493341
azamatufa
2010-10-19 17:02
2011.02.06
Посоветуйте оптимальную структуру БД...