Legacy File Converter -logoLegacy File Converter
Historiaoppitunti8 min lukuaika

Historiaoppitunti: Mikä on .ico-tiedosto? Windowsin kuvakemuoto

Windowsin kuvakemuoto — yksi tiedosto, jossa on useita kokoja ja värisyvyyksiä, pieni otsake ja hakemisto alussa, PNG-pakatut kuvat Windows Vistasta lähtien, .cur-sisarmuoto osoittimille ja favicon.ico, jota jokainen verkkosivusto yhä tarjoaa.

·Legacy File Converter-tiimin kirjoittama
Retrohenkinen pöytätietokone kuvakkeineen näytöllä, yksi kansiokuvake pinottuna eri kokoisina, asiakirjakortti ja nuolikohdistin, ei logoja

TL;DR

.ico on Windowsin kuvaketiedosto. Yksi tiedosto voi sisältää useita saman kuvakkeen kuvia eri koissa ja värisyvyyksissä, ja Windows valitsee parhaiten sopivan työpöydälle, otsikkoriville tai valintaikkunaan. Rakenne on yksinkertainen: 6 tavun otsake (varattu, tyyppi, kuvien määrä), yksi 16 tavun hakemistomerkintä kuvaa kohden ja sitten kuvatiedot. Perinteiset merkinnät ovat bittikarttatietoja (DIB), joissa on AND-maski läpinäkyvyyttä varten; Windows Vistasta lähtien merkintä voi olla kokonainen PNG, mikä teki 256×256-kuvakkeista käytännöllisiä. Osoitinmuoto .cur on lähes kaksonen (tyyppi 2 eikä 1, lisäksi kohdepiste). Verkossa Internet Explorer 5 (maaliskuu 1999) alkoi pyytää favicon.ico-tiedostoa sivustojen juuresta. Saat tavallisen kuvan muuntamalla .ico-tiedoston PNG:ksi paikallisesti — Legacy File Converter tekee sen omalla tietokoneellasi, mitään lataamatta.

Mikä on .ico-tiedosto?

.ico-tiedosto on Windowsin kuvakemuoto. Useimmat kuvatiedostot sisältävät yhden kuvan; ICO-tiedosto sisältää kuvakeresurssin — pienen kokoelman kuvia, jotka kaikki esittävät samaa kuvaketta, kukin piirrettynä eri kokoon ja/tai värisyvyyteen. Microsoftin oma selitys, John Hornickin Icons-artikkeli päivätty 29. syyskuuta 1995, sanoo sen suoraan: yksi ICO-tiedosto tai EXE- tai DLL-tiedoston kuvakeresurssi voi sisältää useita kuvakekuvia, joilla kullakin on eri koko ja/tai värisyvyys.

Siksi haku ”mikä on .ico-tiedosto” tulee yleensä joltakulta, joka löysi sellaisen ohjelmakansiosta, verkosta ladatuista tai vanhasta projektista ja ihmettelee, miksi kuvankatseluohjelma näyttää vain pienen neliön — tai ei mitään. Tiedosto on kelvollinen; se on vain kuvakekuvien säiliö, ei tavallinen valokuva. Lähisukuisista muodoista tällä sivustolla katso Historiaoppitunti: Mikä on .bmp-tiedosto? ja Historiaoppitunti: Mikä on .png-tiedosto?.

Varhaiset Windows-kuvakkeet ja yhden koon aikakausi

Kuvakkeet ovat kuuluneet Windowsiin sen varhaisimmista työpöytäympäristöistä lähtien, mutta varhainen järjestelmä ajatteli yhtä kuvakekokoa. Microsoftin vuoden 1995 artikkeli toteaa, että alkuperäiset funktiot kuten LoadIcon, ExtractIcon ja DrawIcon olivat peräisin ”16-bittisiltä ajoilta, jolloin järjestelmä määritteli vain yhden kuvakkeen koon”, ja ne venyttävät saamansa kuvan suureen vakiokokoon.

Windows 95:n ja sitä seuranneiden Windows NT -versioiden myötä Windows hallitsi pieniä ja suuria kuvakkeita sekä järjestelmälle että kuorelle, ja uudet funktiot (Ex-versiot, LoadImage, DrawIconEx) pystyivät pyytämään tiettyä kokoa. Vuoden 1995 ohjeet kehottivat kehittäjiä toimittamaan vähintään 16×16- ja 32×32-koot 16 värillä sekä 48×48-koon 256 värillä. Muoto oli pitkään pystynyt sisältämään epätavallisia kokoja; Windows vasta kuroi eroa umpeen käyttääkseen niitä.

Yksi tiedosto, monta kokoa ja värisyvyyttä

Kun Windows tarvitsee kuvakkeen, se käy läpi resurssin kuvat. Microsoftin vuoden 1995 sääntöjen mukaan se valitsee kuvan, jonka koko on lähimpänä pyydettyä; jos useammalla on sama koko, se suosii sitä, joka vastaa näytön värisyvyyttä, muuten syvintä, joka ei ylitä sitä. Pienet koot eivät ole vain pienennettyjä kopioita — suunnittelijat piirtävät ne usein uudelleen, jotta 16×16-versio pysyy luettavana.

Microsoftin Windows Vistan kuvakeohjeet mainitsivat myöhemmin sovelluskuvakkeiden täydeksi sarjaksi 16×16, 32×32, 48×48 ja 256×256, 32-bittisenä grafiikkana (alfa mukaan lukien) sekä 8-bittisinä ja 4-bittisinä palettiversioina esimerkiksi etätyöpöytää varten. Pieni .ico voi siis sisältää tusinan kuvaa tai enemmän — juuri sen näkee, kun sen avaa kuvake-editorissa.

Monta kuvaa, yksi kuvake

Jos katseluohjelma näyttää erinäköisen tai pikkuruisen kuvan, se luultavasti valitsi yhden merkinnän monesta. PNG:ksi muuntaminen tarkoittaa yleensä yhden merkinnän — tavallisesti suurimman — valitsemista ja vientiä.

Miten .ico-tiedosto on rakennettu

Rakenne mahtuu yhteen kappaleeseen. Tiedosto alkaa ICONDIR-otsakkeella, jossa on kolme 2 tavun sanaa: varattu arvo, jonka on oltava 0, tyyppi, joka on kuvakkeilla 1, ja kuvien määrä. Sen jälkeen tulee yksi ICONDIRENTRY kuvaa kohden — kukin 16 tavua — jossa on kuvan leveys, korkeus, värien määrä, tasot, bittiä pikseliä kohden, kuvatietojen tavumäärä ja siirtymä, josta tiedot alkavat tiedostossa.

Jokainen perinteinen kuva on DIB (laitteesta riippumaton bittikartta) — BITMAPINFOHEADER, valinnainen väritaulukko, XOR-maski (värilliset pikselit) ja 1-bittinen AND-maski, joka merkitsee läpinäkyvät alueet. Microsoft mainitsee klassisen ansan: otsakkeen korkeus on molempien maskien yhteenlaskettu korkeus, joten se näyttää kaksinkertaiselta kuvakkeen todelliseen korkeuteen nähden. Samassa perheessä EXE- ja DLL-tiedostoihin tallennetut kuvakkeet käyttävät lähes samoja rakenteita RT_GROUP_ICON- ja RT_ICON-resursseina.

PNG kuvakkeen sisällä Windows Vistasta lähtien

Suuremmat kuvakkeet tekivät bittikarttatiedoista raskaita. MSDN Magazinen vuoden 2008 artikkeli Windows Vistan kuvakkeiden purkamisesta kertoo, että kasvavat bittikartat veivät liikaa tilaa levyltä ja muistista, joten Microsoft valitsi PNG:n: Windows Vistan kuvakkeet voivat sisältää PNG-kuvia DIB-kuvien sijaan, mikä teki 256×256-kokoisista 32-bittisistä kuvakkeista käytännöllisiä murto-osalla tilasta. Microsoftin Vista-ohjeiden mukaan vain 256×256-kuva pitäisi pakata, ja pienemmät koot säilyvät perinteisessä muodossa.

Yhden tavun leveys- tai korkeuskenttään ei mahdu 256, joten hakemistomerkinnän 0 luetaan arvoksi 256. Ennen Vistaa kirjoitetulle ohjelmistolle PNG-pakattu merkintä on tuntematonta dataa, mikä on yksi syy siihen, että jotkin vanhemmat työkalut kaatuvat nykyaikaisiin .ico-tiedostoihin, vaikka Windows itse näyttää ne hyvin.

Vanha työkalu, uusi kuvake

Windows XP -aikainen editori saattaa avata nykyaikaisen kuvakkeen pienet bittikarttamerkinnät mutta epäonnistua 256×256-PNG-merkinnän kohdalla — tai hylätä koko tiedoston. Kuvake ei ole vioittunut; ohjelma on vain vanhempi kuin PNG-in-ICO-lisäys.

.cur — osoittimien sisarmuoto

Hiiren osoittimet käyttävät lähes samaa muotoa .cur-päätteellä. Microsoftin vuoden 1995 artikkeli sanoo osoittimien olevan ”hyvin samanlaisia kuin kuvakkeet” — niin samanlaisia, että esimerkkikuvake-editori pystyi lukemaan .CUR-tiedostoja löysentämällä yhtä tarkistusta: otsakkeen tyyppi on osoittimilla 2 eikä 1 kuten kuvakkeilla. MSDN-artikkeli vuodelta 2008 toistaa säännön: toinen sana on kuvakkeilla 1 ja osoittimilla 2.

Osoittimen olennainen lisä on kohdepiste (hotspot), pikselikoordinaatit, jotka toimivat osoittimen kärkenä. Kuten Raymond Chen kuvaa The Old New Thing -blogissa, osoittimien kuvaresurssit alkavat kohdepisteen x- ja y-koordinaateilla ennen bittikarttatietoja. Animoidut osoittimet (.ani) ovat erillinen muoto, eivätkä ne kuulu tähän oppituntiin.

favicon.ico verkossa

.ico-muoto pääsi työpöydältä ulos selaimen kautta. Maaliskuussa 1999 julkaistu Internet Explorer 5 pyysi sivuston juuresta favicon.ico-nimistä tiedostoa, kun käyttäjä lisäsi sivuston Suosikkeihin, ja näytti kuvakkeen Suosikit-luettelossa. Raymond Chen selitti myöhemmin, että IE etsi sitä vain sivua Suosikkeihin lisättäessä, ei jokaisella käynnillä, jotta palvelimia ei kuormitettaisi. Sivut saattoivat myös osoittaa toiseen sijaintiin HTML:n link-elementillä.

Nykyselaimet hyväksyvät sivustokuvakkeiksi muitakin muotoja, mutta monilla sivustoilla on yhä favicon.ico juuressa, ja Microsoftin IE-tiimi totesi, että ICO:n kyky sisältää useita kokoja sopii niihin moniin paikkoihin, joissa sivustokuvake näkyy — välilehdet, suosikit, pikakuvakkeet. Latauskansiossa oleva .ico on siksi usein vain verkosta tallennettu sivustokuvake.

Näin muunnat .ico-tiedoston PNG:ksi paikallisesti

.ico-päätteen vaihtaminen .png-päätteeksi ei toimi: tiedosto alkaa ICONDIR-otsakkeella eikä PNG-tunnisteella, ja se voi sisältää monta kuvaa. Oikea muunnos lukee hakemiston, valitsee merkinnän — yleensä suurimman —, purkaa bittikartta- tai PNG-tiedot, soveltaa läpinäkyvyysmaskin ja kirjoittaa tavallisen PNG-tiedoston, joka säilyttää alfakanavan. Valitse JPG vain, jos et tarvitse läpinäkyvyyttä.

Legacy File Converter avaa .ico-tiedostot omalla Windows-tietokoneellasi ja muuntaa ne PNG- tai JPG-muotoon — mitään ei ladata verkkoon, millä on merkitystä, kun kuvakkeet kuuluvat asiakasprojektiin tai sisäiseen sovellukseen. Se on rauhallinen tapa muuttaa vanhat tiedostot, kuten vanhat kuvakesarjat, kuviksi, jotka mikä tahansa sovellus avaa. Lähioppitunneista katso BMP, PNG ja WebP.

Valmis avaamaan vanhat tiedostosi?

Aloita ilmaiseksi ja avaa sitten rajattomat muunnokset kertamaksullisella $79.95 Standard-lisenssillä. Lataa Windows-asennusohjelma – kaikki ominaisuudet jopa 10 tiedostolle.

Ilmainen kokeiluversio

Sovelluksen kaikki ominaisuudet · jopa 10 tiedostoa

Windows 10 tai 11

Sama ilmainen kokeiluversio kuin aina – lataa Windows-asennusohjelma ja muunna paikallisesti tietokoneellasi.

Aloita ilmainen kokeilu – lataa asennusohjelma

Suora Windows-asennusohjelma · offline-MSI

Onko tämä turvallinen? — julkaisija, asennusohjelma ja SmartScreen-ohjeet

Osta Standard – $79.95

Vaatii Windows 10:n tai 11:n. Ei tilauksia. 100 % Windows-natiivi.