ICO naar BMP omzetten

Hier zet je ICO naar BMP om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.

  • Waar het draait In je browser. Het bestand wordt nooit geüpload.
  • Met verlies De kleuren blijven exact behouden. BMP kan geen transparantie dragen, dus uitgeknipte delen worden gevuld met de achtergrondkleur.
  • Maximale grootte Tot 100 MB per bestand, gratis en zonder account.
  • Goed om te weten Het doelformaat kan geen doorzichtigheid aan, dus de doorzichtige delen worden met de achtergrondkleur gevuld.

Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.

Wat de omzetting van ICO naar BMP werkelijk doet

ICO 139 KBBMP 450 KB 3.2× groter

Een fotografisch tafereel — zachte overgangen, vage randen, korrel. Dit is het geval waarvoor BMP is bedacht, of waartegen, en de cijfers laten zien welke van de twee. Beide afbeeldingen worden door code getekend en gecodeerd door dezelfde omzetter die op deze pagina draait, dus de groottes zijn de uitvoer van de site zelf.

ICO 7 KBBMP 450 KB 64.4× groter

Een doorzichtige achtergrond en een verloop dwars door de vorm. BMP houdt beide, of één van beide, of vult de doorzichtigheid met een effen kleur — en juist dat verschil overvalt mensen. Beide afbeeldingen worden door code getekend en gecodeerd door dezelfde omzetter die op deze pagina draait, dus de groottes zijn de uitvoer van de site zelf.

ICO 3 KBBMP 450 KB 175.2× groter

Vlakke kleur en harde randen, zoals in een interface, een diagram of een logo. Gedraagt zich heel anders dan de foto hierboven, en dat is waarom het antwoord «het hangt ervan af wat er in het bestand zit» is. Beide afbeeldingen worden door code getekend en gecodeerd door dezelfde omzetter die op deze pagina draait, dus de groottes zijn de uitvoer van de site zelf.

De twee formaten zijn nauw verwant, en het icoon behield de alfa

Beide komen van Microsoft en zijn samen ontworpen. Het oorspronkelijke icoonformaat omwikkelde geen aparte afbeelding: elk item bevatte een bitmapheader gevolgd door kleurdata en een één-bit masker dat aangaf welke pixels met rust te laten. Een ICO was letterlijk bitmaps in een mapje met een sjabloon erbij.

De twee groeiden daarna uit elkaar. Iconen kregen een echt acht-bit alfakanaal met Windows XP en de mogelijkheid om een PNG te dragen met Vista, wat moderne icoonbestanden voor hun grote items gebruiken. De bitmap die deze omzetter schrijft is de 24-bit basisvorm, die geen van beide kreeg.

Het alfakanaal wordt opgevuld voordat de bitmap wordt geschreven

De encoder schrijft 24 bit per pixel: acht blauw, acht groen, acht rood, en verder niets. Er bestaat een BMP-headervariant met alfakanaal, maar vrijwel niets leest die betrouwbaar — precies het betrouwbaarheidsprobleem dat BMP meestal moet voorkomen.

De transparantie moet dus ergens naartoe voordat de encoder draait, en de achtergrondinstelling bepaalt waarheen. Wit is de standaard. Kies de kleur van het oppervlak waarop de bitmap getekend wordt: een installatiebanner, de paneelkleur van een embedded scherm.

Verwacht meer dan een twintigvoudige groei

Dit is geen fout, het is de hele reden dat BMP bestaat. Elke pixel neemt drie bytes in beslag ongeacht de inhoud, dus de bestandsgrootte is rekenkunde: breedte maal drie, afgerond naar boven op een veelvoud van vier, maal hoogte, plus 54 bytes header.

Voor een vierkant van 256 pixels is dat 768 bytes per rij en 196.608 bytes pixels, in totaal 196.662. Gemeten tegen een testicoon van 8471 bytes is de bitmap meer dan drieëntwintig keer zo groot. Reken dat vooraf uit als er een groottelimiet is.

Welke tekening in het icoon de bitmap wordt

De grootste. Het decoderen gebeurt door de icoonlezer van je browser, die het grootste item in de map teruggeeft — getest met een bestand met tekeningen van 16, 32, 48 en 256 pixels in vier verschillende kleuren, in drie verschillende volgordes geschreven. De 256-pixeltekening kwam er elke keer uit.

De kleinere items worden nergens weggeschreven en er is geen instelling die ze bereikt. Wil je software een bitmap van 32 pixels en bevat het icoon zo’n item, dan exporteert een icoonbewerker zoals GIMP die laag rechtstreeks — een beter resultaat dan de 256-pixelversie verkleinen.

Rijen van onder naar boven, en kanalen in de verkeerde volgorde

Twee details voor wie de bytes leest in plaats van het bestand te openen. BMP slaat zijn rijen van onder naar boven op, en elke pixel als blauw, dan groen, dan rood. Beide staan gewoon in de specificatie.

Elke rij is ook opgevuld tot een veelvoud van vier bytes, wat telt bij oneven breedtes: een bitmap van 33 pixels breed heeft 99 bytes kleur per rij en één byte opvulling. Bij 256 pixels is de rij 768 bytes en is geen opvulling nodig.

Waarom nog steeds iets om een ongecomprimeerde bitmap vraagt

Omdat er geen decoder voor nodig is. Een microcontroller die een klein scherm aanstuurt, kan bytes uit een bestand met een lus en een headeroffset naar een framebuffer kopiëren; een PNG-decoder toevoegen betekent een decompressor, een geheugentoewijzer en een chunk-parser toevoegen aan een apparaat met misschien 32 KB ram.

Dezelfde redenering geldt voor installatiebronnen, oudere Windows-besturingselementen die bronnen via de eigen bitmapfuncties van het platform laden, en testfixtures die pixels byte voor byte willen vergelijken zonder een codec ertussen.

Niets aan de afbeelding wordt onderweg beschadigd

Beide formaten zijn lossless, en dit pad heeft geen kwaliteitsinstelling omdat er niets te verhandelen valt. Elke pixel die het platslaan overleeft, is byte voor byte wat het icoon opsloeg, dus tweemaal hetzelfde bestand omzetten geeft identieke uitvoer.

De twee dingen die echt verloren gaan, zijn het alfakanaal, vervangen door de achtergrondkleur, en de andere items in de container. Geen van beide is achteraf uit de bitmap terug te halen — bewaar daarom het originele icoonbestand.

Wanneer beter tegensputteren en een PNG aanleveren

Is de bestemming moderne software met een voorkeur in plaats van een harde eis, dan is een PNG twee ordes van grootte kleiner en behoudt hij de transparantie. Hetzelfde testicoon was 1737 bytes als PNG tegenover 196.662 als bitmap — genoeg verschil voor een mailtje of BMP echt vereist is.

Is het antwoord ja — firmware, een installatiescript, een fixture met byte-voor-byte vergelijking — dan is de bitmap correct en de grootte de prijs van leesbaarheid zonder decoder. Zeg dat in de commitboodschap, want een bestand van 200 KB voor een klein icoon lijkt een vergissing voor wie het later beoordeelt.

Een map met iconen omzetten voor een installer of paneel

Sleep de hele set naar binnen. Elk bestand wordt gedecodeerd, platgeslagen op dezelfde achtergrondkleur en apart weggeschreven, met alles teruggegeven als ZIP. Eén gedeelde achtergrondkleur over de hele batch is meestal wat deze bestemmingen nodig hebben.

Controleer de afmetingen in het resultaat in plaats van ze aan te nemen. Icoonsets opgebouwd over jaren mengen items tot 256 pixels met items die bij 32 stoppen, en de bitmaps erven die spreiding — met een factor vierenzestig tussen de bestandsgroottes aan de twee uitersten.

Zo zet je ICO naar BMP om

  1. Sleep je ICO-bestand op deze pagina, of klik om er een te kiezen.
  2. Kies BMP als doel. De omzetting gebeurt in je browser en het bestand wordt niet geüpload.
  3. Download het klare BMP-bestand.

ICO of BMP: wat er verandert

ICO vergeleken met BMP
ICOBMP
Volledige naamWindows-pictogramWindows-bitmap
Bestandsextensie.ico.bmp, .dib
Mediatypeimage/x-iconimage/bmp
CompressieZonder verlies — er gaat niets wegGeen compressie
Voor het eerst gepubliceerd19851987
Uitgegeven doorMicrosoftMicrosoft
LicentieGepubliceerd, niet gestandaardiseerdGepubliceerd, niet gestandaardiseerd
Stand van zakenNicheOud, wordt overal nog gelezen
Bitdiepte88
Kleur die het kan beschrijvenRGB, geïndexeerd paletRGB, geïndexeerd palet
Grootste afbeelding256 px per zijde
Opent in een browserElke browserElke browser
In plaats daarvan overwogenPNG, SVGPNG, TIFF

Wat verloren gaat

BMP heeft geen alfakanaal. Een transparant ICO-bestand komt eruit met die vlakken opgevuld — wit, tenzij je iets anders instelt — en geen enkele instelling in BMP haalt de transparantie terug.

Het resultaat openen

GIMP leest zowel ICO als BMP, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.

Bestandsgrootte en kwaliteit

BMP bewaart de monsters rauw, dus het bestand groeit flink zonder er iets bij te winnen. Die richting is alleen zinnig als een programma aan de andere kant ICO niet aanneemt — en dat is meestal ook de reden.

Waarvoor elk formaat bedoeld is

De twee mikken op ander werk: ICO op het web, BMP op gegevens tussen programma’s verplaatsen. Dat is het afwegen waard, want de reden dat het ene bestaat is meestal de reden dat het andere onhandig is.

ICO is het formaat van Microsoft, verschenen in 1985. Er wordt met 8 bits per kanaal vastgelegd.

BMP komt van Microsoft en stamt uit 1987. Microsoft Paint, GIMP en IrfanView lezen het formaat.

Van ICO naar BMP: veelgestelde vragen

Wordt mijn ICO-bestand ergens heen geüpload?

Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt. De motor achter juist dit paar is jSquash, WebAssembly-versies van de referentiecodecs voor beeld; je browser haalt die één keer op en bewaart hem.

Is ICO naar BMP omzetten gratis?

Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk. jSquash wordt naar je eigen machine gehaald en draait daar, en daarom staat er geen teller op.

Gaat er kwaliteit verloren bij het omzetten van ICO naar BMP?

BMP comprimeert, dus er gaan gegevens verloren. Met de standaardinstelling valt dat niet op; wil je zeker zijn, zet de kwaliteit dan hoger. Het doelformaat kan geen doorzichtigheid aan, dus de doorzichtige delen worden met de achtergrondkleur gevuld.

Blijft de transparante achtergrond behouden van ICO naar BMP?

BMP heeft geen alfakanaal. Een transparant ICO-bestand komt eruit met die vlakken opgevuld — wit, tenzij je iets anders instelt — en geen enkele instelling in BMP haalt de transparantie terug.

Waarom is het BMP-bestand zoveel groter dan het ICO-bestand?

BMP bewaart de monsters rauw, dus het bestand groeit flink zonder er iets bij te winnen. Die richting is alleen zinnig als een programma aan de andere kant ICO niet aanneemt — en dat is meestal ook de reden.

Meer over deze formaten