Hvad er DIB-filformatet?
Filendelsen .dib betegner en Device Independent Bitmap, et rasterbilledformat udviklet af Microsoft (i samarbejde med IBM til OS/2), der ligger til grund for den almindelige .bmp-fil. At være enhedsuafhængig betyder, at farvedataene er selvbeskrivende - filen bærer sin egen palet eller bit-dybde-metadata, så billedet vises ensartet uanset outputenhedens egenskaber.
På disken er en .dib-fil strukturelt identisk med en .bmp-fil: en 14-byte BITMAPFILEHEADER (der starter med to-byte-signaturen BM) efterfølges af en DIB-headervariant, en valgfri farvepalet og et råt pixel-array. Den mest almindelige header er den 40-byte BITMAPINFOHEADER, der blev introduceret med Windows 3.0 i 1990. Pixelrækker gemmes som standard nedefra og op, udfyldt til 4-byte grænser. Understøttede farvedybder spænder fra 1-bit monokrom til 32-bit RGBA (alfa-kanalen kræver BITMAPV4HEADER eller BITMAPV5HEADER).
I Windows GDI-programmering refererer udtrykket DIB specifikt til datastrukturen i hukommelsen (BITMAPINFO + pixel-bits), mens .bmp er diskfil-formen, der foranvender en ekstra 14-byte filheader. Filendelsen .dib på disk er sjælden og fuldt ud udskiftelig med .bmp - enhver applikation, der åbner .bmp-filer, håndterer også .dib uden problemer.
De fleste .dib-filer bruger ukomprimeret BI_RGB-tilstand. Valgfri run-length encoding (BI_RLE8 til 8-bit, BI_RLE4 til 4-bit billeder) reducerer filstørrelsen beskedent. Da formatet som standard er ukomprimeret, er filstørrelserne store sammenlignet med PNG eller JPEG ækvivalenter.
Sikkerhed og tryghed
RISIKO: LOWDIB/BMP er rene pixeldata uden scripts eller makroer - lavrisikoformat. Historiske sårbarheder i parsere (misdannede header-dimensioner, dårlige RLE-kørsler) kunne crashe ældre billedbiblioteker, så hold din software opdateret. Undgå reklamefyldte «gratis DIB-konverter»-sider; brug IrfanView, GIMP, ImageMagick eller Squoosh i stedet.
Formatdetaljer
kort fortaltProgrammer der åbner DIB-filer
Tekniske detaljer
dyb specifikation| Filsignatur | `BM` (hex `42 4D`) ved byte-offset 0 - BITMAPFILEHEADER magic bytes |
| Header-varianter | BITMAPCOREHEADER (12 bytes, OS/2), BITMAPINFOHEADER (40 bytes, Win3.0+), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes, understøttelse af ICC-profil) |
| Understøttede farvedybder | 1, 4, 8, 16, 24 eller 32 bits pr. pixel; 1/4/8-bit bruger en indekseret palet; 16/24/32-bit er direkte RGB |
| Alfa-kanal | Understøttet i 32-bit DIBs med BITMAPV4HEADER eller BITMAPV5HEADER (Windows 98/2000+) |
| Pixel-rækkefølge | Nedefra og op som standard (positiv højdeværdi); negativ højde koder et billede oppefra og ned |
| Række-udfyldning | Hver pixelrække udfyldes til en 4-byte (DWORD) grænse |
| Komprimeringsmetoder | `BI_RGB` (ingen, mest almindelig); `BI_RLE8` (8-bit RLE); `BI_RLE4` (4-bit RLE) |
| Farvepalet | Til stede for 1/4/8-bit billeder som et RGBQUAD-array; fraværende for 16/24/32-bit direkte farve |
| Byte-rækkefølge | Little-endian |
| Hukommelse vs disk | DIB i hukommelsen udelader den 14-byte BITMAPFILEHEADER; `.dib`-filen på disken inkluderer den, identisk i layout med `.bmp` |
| Maksimale dimensioner | 32.767 × 32.767 px med BITMAPINFOHEADER (32-bit felt med fortegn); BITMAPCOREHEADER begrænset til 16-bit uden fortegn (65.535 px) |
| Opløsnings-metadata | Horisontal og vertikal opløsning gemt som pixels-pr.-meter i felterne `biXPelsPerMeter` og `biYPelsPerMeter` |
| ICC-farveprofil | Kan indlejres i BITMAPV5HEADER |
| Interoperabilitet | `.dib` er fuldt udskiftelig med `.bmp`; alle BMP-kompatible applikationer åbner `.dib`-filer uden ændringer |
| Udgivet | 1985 (Windows 1.0/2.0); modern BITMAPINFOHEADER form with Windows 3.0, 1990 |
| Seneste version | BITMAPV5HEADER (Windows 98/2000, 1998) |
| Åben standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
DIB-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om DIB-filer.