Hva er DIB-filformatet?
Filendelsen .dib betegner en «Device Independent Bitmap», et rasterbildeformat utviklet av Microsoft (i samarbeid med IBM for OS/2) som ligger til grunn for den vanlige .bmp-filen. Å være enhetsuavhengig betyr at fargedataene er selvbeskrivende - filen bærer sin egen palett eller metadata for bitdybde, slik at bildet vises konsekvent uavhengig av utdataenhetens egenskaper.
På disken er en .dib-fil strukturelt identisk med en .bmp-fil: en 14-byte BITMAPFILEHEADER (som starter med den to-byte signaturen BM) etterfølges av en DIB-hodevariant, en valgfri fargepalett og en rå pikselmatrise. Det vanligste hodet er 40-byte BITMAPINFOHEADER introdusert med Windows 3.0 i 1990. Pikselrader lagres som standard nedenfra og opp («bottom-up»), polstret til 4-byte grenser. Støttede fargedybder varierer fra 1-bit monokrom til 32-bit RGBA (alfakanalen krever BITMAPV4HEADER eller BITMAPV5HEADER).
I Windows GDI-programmering refererer begrepet DIB spesifikt til datastrukturen i minnet (BITMAPINFO + pikselbiter), mens .bmp er diskfil-formen som legger til et ekstra 14-byte filhode foran. Filendelsen .dib på disk er sjelden og fullstendig utskiftbar med .bmp - alle programmer som åpner .bmp-filer håndterer også .dib uten problemer.
De fleste .dib-filer bruker ukomprimert BI_RGB-modus. Valgfri «run-length encoding» (BI_RLE8 for 8-bit, BI_RLE4 for 4-bit bilder) reduserer filstørrelsen noe. Fordi formatet er ukomprimert som standard, er filstørrelsene store sammenlignet med tilsvarende PNG eller JPEG.
Sikkerhet og trygghet
RISIKO: LOWDIB/BMP er rene pikseldata uten skript eller makroer - lavrisikoformat. Historiske sårbarheter i skannere (feilformaterte hodedimensjoner, dårlige RLE-sekvenser) kunne krasje eldre bildebiblioteker, så hold programvaren din oppdatert. Unngå reklamefylte «gratis DIB-konvertering»-sider; bruk IrfanView, GIMP, ImageMagick eller Squoosh i stedet.
Formatdetaljer
i et nøtteskallProgrammer som åpner DIB-filer
Tekniske detaljer
dyp spesifikasjon| Filsignatur | `BM` (hex `42 4D`) ved byte-offset 0 - BITMAPFILEHEADER magiske bytes |
| Hodevarianter | BITMAPCOREHEADER (12 bytes, OS/2), BITMAPINFOHEADER (40 bytes, Win3.0+), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes, støtte for ICC-profil) |
| Støttede fargedybder | 1, 4, 8, 16, 24, eller 32 biter per piksel; 1/4/8-bit bruker en indeksert palett; 16/24/32-bit er direkte RGB |
| Alfakanal | Støttes i 32-bit DIB-er med BITMAPV4HEADER eller BITMAPV5HEADER (Windows 98/2000+) |
| Rekkefølge for pikselrader | Nedenfra og opp som standard (positiv høydeverdi); negativ høyde koder et bilde ovenfra og ned |
| Rad-polstring | Hver pikselrad polstres til en 4-byte (DWORD) grense |
| Komprimeringsmoduser | `BI_RGB` (ingen, vanligst); `BI_RLE8` (8-bit RLE); `BI_RLE4` (4-bit RLE) |
| Fargepalett | Tilstede for 1/4/8-bit bilder som en RGBQUAD-matrise; fraværende for 16/24/32-bit direktefarge |
| Byterekkefølge | Little-endian |
| I minnet vs på disk | DIB i minnet utelater 14-byte BITMAPFILEHEADER; `.dib`-filen på disk inkluderer den, identisk i oppsett til `.bmp` |
| Maksimal dimensjon | 32 767 × 32 767 px med BITMAPINFOHEADER (32-bit signert felt); BITMAPCOREHEADER begrenset til 16-bit usignert (65 535 px) |
| Metadata for oppløsning | Horisontal og vertikal oppløsning lagret som piksler-per-meter i feltene `biXPelsPerMeter` og `biYPelsPerMeter` |
| ICC-fargeprofil | Kan bygges inn i BITMAPV5HEADER |
| Interoperabilitet | `.dib` er fullstendig utskiftbar med `.bmp`; alle BMP-kompatible applikasjoner åpner `.dib`-filer uten modifikasjon |
| Utgitt | 1985 (Windows 1.0/2.0); modern BITMAPINFOHEADER form with Windows 3.0, 1990 |
| Siste versjon | BITMAPV5HEADER (Windows 98/2000, 1998) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | learn.microsoft.com |
DIB-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om DIB-filer.