Hvad er en ICO fil?
Filer med ICO-udvidelse er billedfiltyper, der bruges som ikon til repræsentation af en applikation på Microsoft Windows. Disse kommer i forskellige størrelser, farveunderstøttelse og opløsning for at passe til skærmens krav. Et andet lignende billedfilformat på Microsoft Windows er CUR til markørrepræsentation og definerer et hotspot i billedoverskriften. På MacOS tjener ICNS-filformater det samme formål som ICO-filer. Adskillige onlinewebsteder såvel som applikationer giver mulighed for at oprette sådanne filer og konvertere andre billedformater såsom BMP, PNG osv. til ikonfilformat. Den officielle IANA-registrerede internetmedietype for ICO-filer er image/vnd.microsoft.icon.
Kort historie
Icons were introduced with the launch of Microsoft Windows 1.0. Disse var 32x32 i størrelse og var monokrome. Med ankomsten til win32 blev understøttelse af ikonbilleder i ægte farver introduceret med op til 256x256 pixels i dimension. Windows XP var den første til at understøtte 32-bit farveikonbilleder, hvilket gjorde det muligt at tilføje semi-transparente områder som skygger, anti-aliasing og glaslignende effekter til ikonet. Microsoft anbefalede kun ikonstørrelser op til 48×48 pixels til Windows XP. Windows Vista tilføjede en 256×256-pixel ikonvisning til Windows Stifinder, samt understøttelse af det komprimerede PNG-format. Med brugere, der bruger højere opløsninger og høje DPI-tilstande, anbefales større ikonformater (såsom 256×256).
ICO-filformat
En enkelt ICO-fil består af et eller mere end et lille billede af flere størrelser og farvedybder. Tilstedeværelsen af billeder i flere størrelser er til passende skalering ved forskellige skærmopløsninger. Alle værdier i ICO/CUR-filer er repræsenteret i little-endian byte-rækkefølge.
ICO-filen består af en Icon-header, en Icon Directory,
Felt | Beskrivelse |
---|---|
Icon Header | Gemmer generel information om ICO-filen. |
Directory[1..n] | Gemmer generel information om hvert billede i filen. |
Ikon #1 | De faktiske data for det første billede i gammelt OG/XOR DIB-format eller nyere PNG |
… | |
Ikon #n | Data for det sidste ikonbillede |
Header
Offset | Størrelse (i bytes) | Formål |
---|---|---|
0 | 2 | Reserveret. Skal altid være 0. |
2 | 2 | Specificerer billedtype: 1 for ikonbillede (.ICO), 2 for markørbillede (.CUR). Andre værdier er ugyldige. |
4 | 2 | Specificerer antallet af billeder i filen. |
Directory
Mappen indeholdt i en ICO-fil, repræsenteret som ICONDIR-struktur, indeholder en ICONDIRECTORY-struktur for hvert billede i filen. Det samme efterfølges af en sammenhængende blok af alle billedbitmapdata. Dette er som vist nedenfor.
Offset | Størrelse | Beskrivelse |
---|---|---|
0 (0) | 1 | Bredde, skal være 0 hvis 256 pixels |
1 (1) | 1 | Højde, skal være 0 hvis 256 pixels |
2 (2) | 1 | Farveantal, skal være 0 hvis mere end 256 farver |
3 (3) | 1 | Reserveret, skal være 0 |
4 (4) | 2 | Farveplaner i .ICO-format skal være 0 eller 1, eller X-hotspot i .CUR-format |
6 (6) | 2 | Bits pr. pixel i .ICO-format, eller Y-hotspottet i .CUR-format |
8 (8) | 4 | Størrelse af bitmapdata i bytes. |
12 (C) | 4 | Offset i filen. |