Slik bruker du verktøyet
- Slipp en .bmp-fil i slippfeltet, klikk for å velge en, eller lim inn et bilde.
- Velg PNG under Konverter til for et tapsfritt og mye mindre resultat, eller behold BMP hvis mottakersystemet krever det.
- Sammenlign den opprinnelige størrelsen med den kodede størrelsen for å se besparelsen.
- Kopier eller last ned resultatet som data URI, ren Base64, img-tagg, CSS-regel eller Markdown-bilde.
Hva er en BMP-fil?
BMP er Windows-formatet for enhetsuavhengige punktgrafikkbilder (device-independent bitmap). Det lagrer piksler rad for rad, nesten alltid uten komprimering (det finnes en enkel run-length-modus for 4-biters og 8-biters bilder). MIME-typen er image/bmp, selv om noen systemer oppgir image/x-ms-bmp, og Base64-utdataene begynner med Qk, de kodede bokstavene BM.
Uten komprimering følger størrelsen direkte av dimensjonene. Et 24-biters bilde på 800 ganger 600 piksler krever omtrent 1,4 MB, og Base64-formen er nærmere 1,9 MB tekst.
Konverter til PNG før koding
PNG er også tapsfritt, så en typisk 24-biters bitmap som konverteres til PNG, beholder pikslene nøyaktig mens filen krymper, ofte flere ganger og langt mer for skjermbilder og flat grafikk. For fotografier som er lagret som BMP, gir JPEG eller WebP med god kvalitet en enda kortere streng. Den opprinnelige og den kodede størrelsen som vises for hvert bilde, gjør forskjellen lett å se.
Når du bør beholde den opprinnelige BMP-filen
Noen mottakere forventer en ekte bitmap: eldre Windows-programvare, etikett- og kvitteringsskrivere, små skjermer styrt av mikrokontrollere eller testdata som må samsvare med en fil byte for byte. I slike tilfeller velger du Behold originalformat; Base64-utdataene er da en nøyaktig kopi av filen. Alle store nettlesere kan vise data:image/bmp-bilder, men for nettsider og e-post er PNG det bedre formatet.
Den samme konverteringen i et skript, med Python og Pillow:
from PIL import Image
import base64, io
buf = io.BytesIO()
Image.open('scan.bmp').save(buf, 'PNG')
uri = 'data:image/png;base64,' + base64.b64encode(buf.getvalue()).decode()
Ofte stilte spørsmål
Hvorfor er Base64-strengen for BMP-filen min så lang?
BMP lagrer hver piksel uten komprimering, og Base64 legger til enda en tredjedel. Konvertering til PNG først gjør vanligvis strengen dramatisk kortere uten å miste noen detaljer.
Mister jeg kvalitet når jeg konverterer BMP til PNG?
Nei. PNG er et tapsfritt format, så pikslene forblir de samme. Det er bare måten de lagres på, som endres.
Kan nettlesere vise en data:image/bmp-URI?
Ja, Chrome, Edge, Firefox og Safari viser alle BMP. E-postprogrammer og mange nettplattformer håndterer formatet mindre pålitelig, så der er PNG det tryggere valget.
Støtter BMP gjennomsiktighet?
En 32-biters BMP kan lagre en alfakanal, men programmer og nettlesere behandler den ulikt. Trenger du gjennomsiktighet, konverterer du til PNG eller WebP.