Windows DDB

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Format)
Line 39: Line 39:
 
|}
 
|}
 
This is followed by the bitmap, in top-to-bottom order, with bmWidthBytes bytes per line.
 
This is followed by the bitmap, in top-to-bottom order, with bmWidthBytes bytes per line.
 +
 +
The [[WMF#Specifications|WMF specification]] defines a "Bitmap16" structure that seems to be this format, though without the "File type" field.
  
 
== Software ==
 
== Software ==

Revision as of 15:59, 22 February 2018

File Format
Name Windows DDB
Ontology
Extension(s) .ddb, .bmp
PRONOM fmt/114
Released 1985

Windows DDB (Device-Dependent Bitmap), or Windows BMP v1, is a graphics format associated with Microsoft Windows 1.0. It has only a little in common with the BMP formats that succeeded it.

Contents

Disambiguation

The term DDB is also used for the in-memory BITMAP structure used by the Windows API. This structure is not necessarily the same as the file format described in this article. (Maybe it is the same on old versions of Windows?)

Bitmap files in this format can be found in the Windows 2 DDK.

This format is not the format saved by Windows 1.0 Paint. It is generated by ICONEDIT, the Windows 1.x icon / cursor / bitmap editor.

Format

Files begin with a 16-byte header, the last 14 bytes of which correspond to the BITMAP structure:

Offset Type Meaning
0x0000 WORD File type: 0x0002, RT_BITMAP. Top bit set if discardable.
0x0002 WORD bmType: Always 0x0000 for main memory bitmap
0x0004 WORD bmWidth: Width in pixels
0x0006 WORD bmHeight: Height in pixels
0x0008 WORD bmWidthBytes: Width of a line in bytes
0x000A BYTE bmPlanes: Number of planes in bitmap
0x000B BYTE bmBitsPixel: Number of bits per pixel
0x000C DWORD bmBits: Always zero in disk file

This is followed by the bitmap, in top-to-bottom order, with bmWidthBytes bytes per line.

The WMF specification defines a "Bitmap16" structure that seems to be this format, though without the "File type" field.

Software

  • The MSWrite decoder from libwps appears to have source code for reading embedded DDB objects.

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox