Vad är filformatet DIB?
Tillägget .dib betecknar en Device Independent Bitmap, ett rasterbildformat utvecklat av Microsoft (i samarbete med IBM för OS/2) som ligger till grund för den vanliga .bmp-filen. Att vara enhetsoberoende (device independent) innebär att färgdata är självbeskrivande - filen bär sin egen palett eller metadata för bitdjup så att bilden visas konsekvent oavsett utmatningsenhetens förmåga.
På disken är en .dib-fil strukturellt identisk med en .bmp-fil: en 14-byte BITMAPFILEHEADER (som börjar med signatur på två byte BM) följs av en DIB-huvudvariant, en valfri färgpalett och en rå pixelmatris. Det vanligaste huvudet är 40-byte BITMAPINFOHEADER som introducerades med Windows 3.0 år 1990. Pixelrader lagras nerifrån och upp som standard, utfyllda till 4-byte-gränser. Färgdjup som stöds sträcker sig från 1-bitars monokrom till 32-bitars RGBA (alfakanalen kräver BITMAPV4HEADER eller BITMAPV5HEADER).
Inom Windows GDI-programmering syftar termen DIB specifikt på datastrukturen i minnet (BITMAPINFO + pixelbitar), medan .bmp är diskfilsformen som lägger till ett ytterligare 14-byte filhuvud först. Tillägget .dib på disk är sällsynt och helt utbytbart mot .bmp - alla program som öppnar .bmp-filer hanterar även .dib utan problem.
De flesta .dib-filer använder okomprimerat BI_RGB-läge. Valfri skurlängdskodning (BI_RLE8 för 8-bitars, BI_RLE4 för 4-bitars bilder) minskar filstorleken något. Eftersom formatet är okomprimerat som standard är filstorlekarna stora jämfört med motsvarande PNG eller JPEG.
Säkerhet & trygghet
RISK: LOWDIB/BMP är ren pixeldata utan skript eller makron - ett lågriskformat. Historiska sårbarheter i tolkar (felaktiga huvuddimensioner, dåliga RLE-sekvenser) kunde krascha äldre bildbibliotek, så håll din programvara uppdaterad. Undvik annonsfyllda «gratis DIB-konverterare»-webbplatser; använd IrfanView, GIMP, ImageMagick eller Squoosh istället.
Formatdetaljer
i ett nötskalProgram som öppnar DIB-filer
Tekniska detaljer
djup specifikation| Filsignatur | `BM` (hex `42 4D`) vid byte-offset 0 - BITMAPFILEHEADER magic bytes |
| Huvudvarianter | BITMAPCOREHEADER (12 byte, OS/2), BITMAPINFOHEADER (40 byte, Win3.0+), BITMAPV4HEADER (108 byte), BITMAPV5HEADER (124 byte, stöd för ICC-profil) |
| Färgdjup som stöds | 1, 4, 8, 16, 24 eller 32 bitar per pixel; 1/4/8-bitars använder en indexerad palett; 16/24/32-bitars är direkt RGB |
| Alfakanal | Stöds i 32-bitars DIB-filer med BITMAPV4HEADER eller BITMAPV5HEADER (Windows 98/2000+) |
| Pixelradsordning | Nerifrån och upp som standard (positivt höjdvärde); negativt höjdvärde kodar en bild uppifrån och ner |
| Radutfyllnad | Varje pixelrad fylls ut till en 4-byte (DWORD) gräns |
| Komprimeringslägen | `BI_RGB` (ingen, vanligast); `BI_RLE8` (8-bitars RLE); `BI_RLE4` (4-bitars RLE) |
| Färgpalett | Finns för 1/4/8-bitars bilder som en RGBQUAD-matris; saknas för 16/24/32-bitars direktfärg |
| Byte-ordning | Little-endian |
| I minnet kontra på disk | DIB i minnet utelämnar 14-byte BITMAPFILEHEADER; `.dib`-filen på disk inkluderar den, identisk i layout med `.bmp` |
| Maximala dimensioner | 32 767 × 32 767 px med BITMAPINFOHEADER (32-bitars signerat fält); BITMAPCOREHEADER begränsad till 16-bitars osignerat (65 535 px) |
| Metadata för upplösning | Horisontell och vertikal upplösning lagrad som pixlar-per-meter i fälten `biXPelsPerMeter` och `biYPelsPerMeter` |
| ICC-färgprofil | Inbäddningsbar i BITMAPV5HEADER |
| Interoperabilitet | `.dib` är helt utbytbar mot `.bmp`; alla BMP-kompatibla program öppnar `.dib`-filer utan modifiering |
| Släppt | 1985 (Windows 1.0/2.0); modern BITMAPINFOHEADER form with Windows 3.0, 1990 |
| Senaste version | BITMAPV5HEADER (Windows 98/2000, 1998) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
DIB-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om DIB-filer.