Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форматы иконки [D7, WinXP]


sco ©   (2006-03-19 14:41:00) 

Как узнать все форматы иконки какого то файла, ну к примеру 1.ico:
 48x48 32bit
 32x32 32bit
 16x16 32bit
 48x48 256
 32x32 256
 16x16 256
Как получить такую информацию?


VadMat   (2006-07-05 14:09:00) [1]

Предлагаю такой способ:

procedure TForm1.Button1Click(Sender: TObject);
var
fb:File of Byte;
bWidthHeight,bColorBit,bIconCount:Byte;
iIconNumber:Integer;
begin
AssignFile(fb,Edit1.Text);
Reset(fb);
iIconNumber:=0;
ListBox1.Items.Clear;
Seek(fb,4);
Read(fb,bIconCount);
repeat
Seek(fb,iIconNumber+6);
Read(fb,bWidthHeight);
Seek(fb,iIconNumber+12);
Read(fb,bColorBit);
ListBox1.Items.Add(IntToStr(bWidthHeight)+'x'+IntToStr(bWidthHeight)+', '+IntToStr(Trunc(Exp(bColorBit*Ln(2))))+' color');
iIconNumber:=iIconNumber+16;
Seek(fb,iIconNumber);
until (iIconNumber=(bIconCount)*16);
CloseFile(fb);
end;

У меня работает.


Poirot   (2006-03-22 18:28:00) [2]

http://kainsk.tomsk.ru/g2003/sys26/oswin.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо