Wat is het DIB-bestandsformaat?
De extensie .dib staat voor een Device Independent Bitmap, een rasterafbeeldingsformaat ontwikkeld door Microsoft (in samenwerking met IBM voor OS/2) dat de basis vormt voor het bekende .bmp-bestand. Apparaatonafhankelijk (device independent) betekent dat de kleurgegevens zelfbeschrijvend zijn - het bestand bevat zijn eigen palet of bitdiepte-metadata, zodat de afbeelding consistent wordt weergegeven, ongeacht de mogelijkheden van het uitvoerapparaat.
Op schijf is een .dib-bestand structureel identiek aan een .bmp-bestand: een 14-byte BITMAPFILEHEADER (beginnend met de twee-byte signatuur BM) wordt gevolgd door een DIB-headervariant, een optioneel kleurenpalet en een reeks ruwe pixels. De meest voorkomende header is de 40-byte BITMAPINFOHEADER, geïntroduceerd met Windows 3.0 in 1990. Pixelrijen worden standaard van onder naar boven opgeslagen, opgevuld tot 4-byte grenzen. Ondersteunde kleurdieptes variëren van 1-bit monochroom tot 32-bit RGBA (het alfakanaal vereist BITMAPV4HEADER of BITMAPV5HEADER).
In Windows GDI-programmering verwijst de term DIB specifiek naar de gegevensstructuur in het geheugen (BITMAPINFO + pixelbits), terwijl .bmp de bestandsvorm op schijf is die een extra 14-byte bestandsheader voorafgaat. De extensie .dib op schijf is zeldzaam en volledig uitwisselbaar met .bmp - elke applicatie die .bmp-bestanden opent, verwerkt ook .dib zonder problemen.
De meeste .dib-bestanden gebruiken de ongecomprimeerde BI_RGB-modus. Optionele run-length encoding (BI_RLE8 voor 8-bit, BI_RLE4 voor 4-bit afbeeldingen) vermindert de bestandsgrootte in beperkte mate. Omdat het formaat standaard ongecomprimeerd is, zijn de bestandsgroottes groot vergeleken met PNG- of JPEG-equivalenten.
Beveiliging & veiligheid
RISICO: LOWDIB/BMP bevat puur pixelgegevens zonder scripts of macro's - een formaat met laag risico. Historische kwetsbaarheden in parsers (misvormde header-afmetingen, foutieve RLE-reeksen) konden oudere afbeeldingsbibliotheken laten crashen, dus houd uw software up-to-date. Vermijd met advertenties beladen „gratis DIB-converter”-sites; gebruik in plaats daarvan IrfanView, GIMP, ImageMagick of Squoosh.
Formaatdetails
in een notendopProgramma's die DIB-bestanden openen
Technische details
diepe specificaties| Bestandssignatuur | `BM` (hex `42 4D`) bij byte-offset 0 - BITMAPFILEHEADER magic bytes |
| Header-varianten | BITMAPCOREHEADER (12 bytes, OS/2), BITMAPINFOHEADER (40 bytes, Win3.0+), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes, ondersteuning voor ICC-profielen) |
| Ondersteunde kleurdieptes | 1, 4, 8, 16, 24 of 32 bits per pixel; 1/4/8-bit gebruiken een geïndexeerd palet; 16/24/32-bit zijn direct RGB |
| Alfakanaal | Ondersteund in 32-bit DIB's met BITMAPV4HEADER of BITMAPV5HEADER (Windows 98/2000+) |
| Pixelrij-volgorde | Standaard van onder naar boven (positieve hoogtewaarde); een negatieve hoogte codeert een afbeelding van boven naar beneden |
| Rij-opvulling | Elke pixelrij wordt opgevuld tot een 4-byte (DWORD) grens |
| Compressiemodi | `BI_RGB` (geen, meest gebruikelijk); `BI_RLE8` (8-bit RLE); `BI_RLE4` (4-bit RLE) |
| Kleurenpalet | Aanwezig voor 1/4/8-bit afbeeldingen als een RGBQUAD-array; afwezig voor 16/24/32-bit direct-color |
| Byte-volgorde | Little-endian |
| In-geheugen vs op-schijf | DIB in het geheugen laat de 14-byte BITMAPFILEHEADER weg; het `.dib`-bestand op schijf bevat deze wel, identiek in lay-out aan `.bmp` |
| Maximale afmetingen | 32.767 × 32.767 px met BITMAPINFOHEADER (32-bit signed veld); BITMAPCOREHEADER beperkt tot 16-bit unsigned (65.535 px) |
| Resolutie-metadata | Horizontale en verticale resolutie opgeslagen als pixels-per-meter in de velden `biXPelsPerMeter` en `biYPelsPerMeter` |
| ICC-kleurprofiel | Insluitbaar in BITMAPV5HEADER |
| Interoperabiliteit | `.dib` is volledig uitwisselbaar met `.bmp`; alle applicaties die BMP ondersteunen, openen `.dib`-bestanden zonder aanpassingen |
| Uitgebracht | 1985 (Windows 1.0/2.0); modern BITMAPINFOHEADER form with Windows 3.0, 1990 |
| Laatste versie | BITMAPV5HEADER (Windows 98/2000, 1998) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
DIB conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DIB-bestanden.