function bitmapInfoHeader
bitmapInfoHeader(): Coder<BitmapInfoHeader>

Creates a coder for the 40-byte BITMAPINFOHEADER (the most common DIB header).

All fields are little-endian. width and height are signed 32-bit; height being negative signals a top-down pixel layout.

Examples

Round-trip a BITMAPINFOHEADER

import { assertEquals } from "@std/assert";
import { bitmapInfoHeader } from "@binstruct/bmp";

const coder = bitmapInfoHeader();
const dib = {
  size: 40,
  width: 2,
  height: 2,
  planes: 1,
  bpp: 24,
  compression: 0,
  imageSize: 16,
  xPixelsPerMeter: 2835,
  yPixelsPerMeter: 2835,
  colorsUsed: 0,
  importantColors: 0,
};

const buffer = new Uint8Array(40);
const bytesWritten = coder.encode(dib, buffer);
const [decoded, bytesRead] = coder.decode(buffer);

assertEquals(bytesWritten, 40);
assertEquals(bytesRead, 40);
assertEquals(decoded, dib);

Return Type

A coder for BitmapInfoHeader.

Usage

import { bitmapInfoHeader } from ".";